CVE-2025-38516 (GCVE-0-2025-38516)
Vulnerability from cvelistv5
Published
2025-08-16 10:55
Modified
2025-08-16 10:55
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: pinctrl: qcom: msm: mark certain pins as invalid for interrupts On some platforms, the UFS-reset pin has no interrupt logic in TLMM but is nevertheless registered as a GPIO in the kernel. This enables the user-space to trigger a BUG() in the pinctrl-msm driver by running, for example: `gpiomon -c 0 113` on RB2. The exact culprit is requesting pins whose intr_detection_width setting is not 1 or 2 for interrupts. This hits a BUG() in msm_gpio_irq_set_type(). Potentially crashing the kernel due to an invalid request from user-space is not optimal, so let's go through the pins and mark those that would fail the check as invalid for the irq chip as we should not even register them as available irqs. This function can be extended if we determine that there are more corner-cases like this.
Impacted products
Vendor Product Version
Linux Linux Version: f365be0925729508fd8e62f8bdb504ef896cb6e0
Version: f365be0925729508fd8e62f8bdb504ef896cb6e0
Version: f365be0925729508fd8e62f8bdb504ef896cb6e0
Version: f365be0925729508fd8e62f8bdb504ef896cb6e0
Version: f365be0925729508fd8e62f8bdb504ef896cb6e0
Version: f365be0925729508fd8e62f8bdb504ef896cb6e0
Version: f365be0925729508fd8e62f8bdb504ef896cb6e0
Version: f365be0925729508fd8e62f8bdb504ef896cb6e0
Create a notification for this product.
   Linux Linux Version: 3.14
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/pinctrl/qcom/pinctrl-msm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "6a89563ccf9cd0d745e2291302878a061508573f",
              "status": "affected",
              "version": "f365be0925729508fd8e62f8bdb504ef896cb6e0",
              "versionType": "git"
            },
            {
              "lessThan": "3f8fc02c2582c1dfad1785e9c7bc8b4e1521af0a",
              "status": "affected",
              "version": "f365be0925729508fd8e62f8bdb504ef896cb6e0",
              "versionType": "git"
            },
            {
              "lessThan": "cb4b08a095b1fa4b3fca782757517e4e9a917d8e",
              "status": "affected",
              "version": "f365be0925729508fd8e62f8bdb504ef896cb6e0",
              "versionType": "git"
            },
            {
              "lessThan": "cc145e02d6b8494c48f91958d52fa76b7e577f7b",
              "status": "affected",
              "version": "f365be0925729508fd8e62f8bdb504ef896cb6e0",
              "versionType": "git"
            },
            {
              "lessThan": "1d57f7132662e96aace3b8a000616efde289aae1",
              "status": "affected",
              "version": "f365be0925729508fd8e62f8bdb504ef896cb6e0",
              "versionType": "git"
            },
            {
              "lessThan": "275605a8b48002fe98675a5c06f3e39c09067ff2",
              "status": "affected",
              "version": "f365be0925729508fd8e62f8bdb504ef896cb6e0",
              "versionType": "git"
            },
            {
              "lessThan": "97c9c7daeeb00c6e1d5e84084041f79c2d2dce22",
              "status": "affected",
              "version": "f365be0925729508fd8e62f8bdb504ef896cb6e0",
              "versionType": "git"
            },
            {
              "lessThan": "93712205ce2f1fb047739494c0399a26ea4f0890",
              "status": "affected",
              "version": "f365be0925729508fd8e62f8bdb504ef896cb6e0",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/pinctrl/qcom/pinctrl-msm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.14"
            },
            {
              "lessThan": "3.14",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.296",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.240",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.189",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.146",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.99",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.39",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.15.*",
              "status": "unaffected",
              "version": "6.15.7",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.16",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.296",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.240",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.189",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.146",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.99",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.39",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15.7",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.16",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\npinctrl: qcom: msm: mark certain pins as invalid for interrupts\n\nOn some platforms, the UFS-reset pin has no interrupt logic in TLMM but\nis nevertheless registered as a GPIO in the kernel. This enables the\nuser-space to trigger a BUG() in the pinctrl-msm driver by running, for\nexample: `gpiomon -c 0 113` on RB2.\n\nThe exact culprit is requesting pins whose intr_detection_width setting\nis not 1 or 2 for interrupts. This hits a BUG() in\nmsm_gpio_irq_set_type(). Potentially crashing the kernel due to an\ninvalid request from user-space is not optimal, so let\u0027s go through the\npins and mark those that would fail the check as invalid for the irq chip\nas we should not even register them as available irqs.\n\nThis function can be extended if we determine that there are more\ncorner-cases like this."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-08-16T10:55:03.161Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/6a89563ccf9cd0d745e2291302878a061508573f"
        },
        {
          "url": "https://git.kernel.org/stable/c/3f8fc02c2582c1dfad1785e9c7bc8b4e1521af0a"
        },
        {
          "url": "https://git.kernel.org/stable/c/cb4b08a095b1fa4b3fca782757517e4e9a917d8e"
        },
        {
          "url": "https://git.kernel.org/stable/c/cc145e02d6b8494c48f91958d52fa76b7e577f7b"
        },
        {
          "url": "https://git.kernel.org/stable/c/1d57f7132662e96aace3b8a000616efde289aae1"
        },
        {
          "url": "https://git.kernel.org/stable/c/275605a8b48002fe98675a5c06f3e39c09067ff2"
        },
        {
          "url": "https://git.kernel.org/stable/c/97c9c7daeeb00c6e1d5e84084041f79c2d2dce22"
        },
        {
          "url": "https://git.kernel.org/stable/c/93712205ce2f1fb047739494c0399a26ea4f0890"
        }
      ],
      "title": "pinctrl: qcom: msm: mark certain pins as invalid for interrupts",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-38516",
    "datePublished": "2025-08-16T10:55:03.161Z",
    "dateReserved": "2025-04-16T04:51:24.023Z",
    "dateUpdated": "2025-08-16T10:55:03.161Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-38516\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-08-16T11:15:44.763\",\"lastModified\":\"2025-08-18T20:16:28.750\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\npinctrl: qcom: msm: mark certain pins as invalid for interrupts\\n\\nOn some platforms, the UFS-reset pin has no interrupt logic in TLMM but\\nis nevertheless registered as a GPIO in the kernel. This enables the\\nuser-space to trigger a BUG() in the pinctrl-msm driver by running, for\\nexample: `gpiomon -c 0 113` on RB2.\\n\\nThe exact culprit is requesting pins whose intr_detection_width setting\\nis not 1 or 2 for interrupts. This hits a BUG() in\\nmsm_gpio_irq_set_type(). Potentially crashing the kernel due to an\\ninvalid request from user-space is not optimal, so let\u0027s go through the\\npins and mark those that would fail the check as invalid for the irq chip\\nas we should not even register them as available irqs.\\n\\nThis function can be extended if we determine that there are more\\ncorner-cases like this.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: pinctrl: qcom: msm: marcar ciertos pines como inv\u00e1lidos para interrupciones En algunas plataformas, el pin UFS-reset no tiene l\u00f3gica de interrupci\u00f3n en TLMM pero sin embargo est\u00e1 registrado como un GPIO en el kernel. Esto permite que el espacio de usuario active un BUG() en el controlador pinctrl-msm ejecutando, por ejemplo: `gpiomon -c 0 113` en RB2. El culpable exacto es solicitar pines cuyo ajuste intr_detection_width no es 1 o 2 para interrupciones. Esto alcanza un BUG() en msm_gpio_irq_set_type(). Potencialmente, bloquear el kernel debido a una solicitud inv\u00e1lida del espacio de usuario no es \u00f3ptimo, as\u00ed que revisemos los pines y marquemos aquellos que fallar\u00edan la verificaci\u00f3n como inv\u00e1lidos para el chip irq ya que ni siquiera deber\u00edamos registrarlos como irq disponibles. Esta funci\u00f3n se puede extender si determinamos que hay m\u00e1s casos especiales como este.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/1d57f7132662e96aace3b8a000616efde289aae1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/275605a8b48002fe98675a5c06f3e39c09067ff2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/3f8fc02c2582c1dfad1785e9c7bc8b4e1521af0a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/6a89563ccf9cd0d745e2291302878a061508573f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/93712205ce2f1fb047739494c0399a26ea4f0890\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/97c9c7daeeb00c6e1d5e84084041f79c2d2dce22\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/cb4b08a095b1fa4b3fca782757517e4e9a917d8e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/cc145e02d6b8494c48f91958d52fa76b7e577f7b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…