CVE-2026-74461 (GCVE-0-2026-74461)

Vulnerability from cvelistv5 – Published: 2026-08-15 12:27 – Updated: 2026-08-19 16:37
VLAI
Title
i2c: imx: Cancel hrtimer before clearing slave pointer
Summary
In the Linux kernel, the following vulnerability has been resolved: i2c: imx: Cancel hrtimer before clearing slave pointer In i2c_imx_unreg_slave(), the slave pointer is set to NULL after disabling interrupts. However, a pending interrupt might already have started the hrtimer (i2c_imx_slave_timeout) before the pointer was cleared. If the hrtimer fires after i2c_imx->slave is set to NULL, the timer callback i2c_imx_slave_finish_op() will call i2c_imx_slave_event() with a NULL slave pointer, which results in a use-after-free / NULL pointer dereference. Fix by canceling the hrtimer and waiting for it to complete after disabling interrupts, before clearing the slave pointer.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: f7414cd6923fd7f78e57086fc964ba2dc25db5c1 , < e3da77bdb4015051656bb472c295656bbea03b6f (git)
Affected: f7414cd6923fd7f78e57086fc964ba2dc25db5c1 , < 470fe15fb3bb2eba6629be301ca7e991ee3cfb7e (git)
Affected: f7414cd6923fd7f78e57086fc964ba2dc25db5c1 , < a8a1f9ac3d763e721586f15479ef9140b216ddf3 (git)
Affected: f7414cd6923fd7f78e57086fc964ba2dc25db5c1 , < 753060f2b77ff2f386addbd3ecadb95b9f90cddd (git)
Affected: f7414cd6923fd7f78e57086fc964ba2dc25db5c1 , < affd62f5719a78135b7441aa49c8cab3c3b5e838 (git)
Affected: f7414cd6923fd7f78e57086fc964ba2dc25db5c1 , < dab4762ee7f3fd0a01980d5407ba48d0261d3bff (git)
Affected: f7414cd6923fd7f78e57086fc964ba2dc25db5c1 , < 6ac7702b6cc2b94aaed9ef2d95bfbefcdc90061f (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.11
Unaffected: 0 , < 5.11 (semver)
Unaffected: 5.15.216 , ≤ 5.15.* (semver)
Unaffected: 6.1.183 , ≤ 6.1.* (semver)
Unaffected: 6.6.151 , ≤ 6.6.* (semver)
Unaffected: 6.12.103 , ≤ 6.12.* (semver)
Unaffected: 6.18.44 , ≤ 6.18.* (semver)
Unaffected: 7.1.8 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/i2c/busses/i2c-imx.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e3da77bdb4015051656bb472c295656bbea03b6f",
              "status": "affected",
              "version": "f7414cd6923fd7f78e57086fc964ba2dc25db5c1",
              "versionType": "git"
            },
            {
              "lessThan": "470fe15fb3bb2eba6629be301ca7e991ee3cfb7e",
              "status": "affected",
              "version": "f7414cd6923fd7f78e57086fc964ba2dc25db5c1",
              "versionType": "git"
            },
            {
              "lessThan": "a8a1f9ac3d763e721586f15479ef9140b216ddf3",
              "status": "affected",
              "version": "f7414cd6923fd7f78e57086fc964ba2dc25db5c1",
              "versionType": "git"
            },
            {
              "lessThan": "753060f2b77ff2f386addbd3ecadb95b9f90cddd",
              "status": "affected",
              "version": "f7414cd6923fd7f78e57086fc964ba2dc25db5c1",
              "versionType": "git"
            },
            {
              "lessThan": "affd62f5719a78135b7441aa49c8cab3c3b5e838",
              "status": "affected",
              "version": "f7414cd6923fd7f78e57086fc964ba2dc25db5c1",
              "versionType": "git"
            },
            {
              "lessThan": "dab4762ee7f3fd0a01980d5407ba48d0261d3bff",
              "status": "affected",
              "version": "f7414cd6923fd7f78e57086fc964ba2dc25db5c1",
              "versionType": "git"
            },
            {
              "lessThan": "6ac7702b6cc2b94aaed9ef2d95bfbefcdc90061f",
              "status": "affected",
              "version": "f7414cd6923fd7f78e57086fc964ba2dc25db5c1",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/i2c/busses/i2c-imx.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.11"
            },
            {
              "lessThan": "5.11",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.216",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.183",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.151",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.103",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.44",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.216",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.183",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.151",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.103",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.44",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.8",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ni2c: imx: Cancel hrtimer before clearing slave pointer\n\nIn i2c_imx_unreg_slave(), the slave pointer is set to NULL after\ndisabling interrupts.  However, a pending interrupt might already\nhave started the hrtimer (i2c_imx_slave_timeout) before the pointer\nwas cleared.  If the hrtimer fires after i2c_imx-\u003eslave is set to\nNULL, the timer callback i2c_imx_slave_finish_op() will call\ni2c_imx_slave_event() with a NULL slave pointer, which results in a\nuse-after-free / NULL pointer dereference.\n\nFix by canceling the hrtimer and waiting for it to complete after\ndisabling interrupts, before clearing the slave pointer."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.4,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is in the imx I2C slave teardown path reached via i2c_slave_unregister during local driver removal on embedded i.MX systems; exploitation requires local proximity to trigger concurrent I2C bus activity on the same controller.\nAC:L - The attacker controls both sides of the race by generating I2C slave traffic to arm/restart the 30us hrtimer while unregister runs, and can retry rapidly across repeated teardown cycles until the window is hit.\nPR:N - No Linux credentials are required when an attacker with physical access to an exposed I2C bus races automated system maintenance (OTA, service restart, driver reload) that calls i2c_slave_unregister on imx slave backends.\nUI:N - Exploitation does not require victim interaction; automated firmware updates or service restarts that unregister the slave driver are sufficient to create the teardown side of the race.\nS:U - Impact is confined to kernel memory corruption and crash on the same host; this is not a VM escape, IOMMU bypass, or cross-security-authority boundary.\nC:H - The timer callback invokes i2c_slave_event with a NULL/freed slave pointer (use-after-free), a memory safety violation that can be leveraged for arbitrary kernel memory read primitives per CVSS UAF guidance.\nI:H - Use-after-free in the slave event callback path can enable heap manipulation and arbitrary kernel write or control-flow hijack, not merely a deterministic NULL dereference crash.\nA:H - Triggering i2c_slave_event with a NULL slave causes kernel oops/panic, and the original patch series notes the last_slave_event loop in i2c_imx_slave_finish_op can hang the system."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-19T16:37:00.344Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e3da77bdb4015051656bb472c295656bbea03b6f"
        },
        {
          "url": "https://git.kernel.org/stable/c/470fe15fb3bb2eba6629be301ca7e991ee3cfb7e"
        },
        {
          "url": "https://git.kernel.org/stable/c/a8a1f9ac3d763e721586f15479ef9140b216ddf3"
        },
        {
          "url": "https://git.kernel.org/stable/c/753060f2b77ff2f386addbd3ecadb95b9f90cddd"
        },
        {
          "url": "https://git.kernel.org/stable/c/affd62f5719a78135b7441aa49c8cab3c3b5e838"
        },
        {
          "url": "https://git.kernel.org/stable/c/dab4762ee7f3fd0a01980d5407ba48d0261d3bff"
        },
        {
          "url": "https://git.kernel.org/stable/c/6ac7702b6cc2b94aaed9ef2d95bfbefcdc90061f"
        }
      ],
      "title": "i2c: imx: Cancel hrtimer before clearing slave pointer",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-74461",
    "datePublished": "2026-08-15T12:27:01.924Z",
    "dateReserved": "2026-08-15T05:44:03.901Z",
    "dateUpdated": "2026-08-19T16:37:00.344Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-74461",
      "date": "2026-08-28",
      "epss": "0.00138",
      "percentile": "0.03444"
    },
    "microsoft_vex": {
      "current_release_date": "2026-08-23T15:04:35.000Z",
      "cve": "CVE-2026-74461",
      "id": "msrc_CVE-2026-74461",
      "initial_release_date": "2026-08-23T15:04:35.000Z",
      "product_status:known_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "i2c: imx: Cancel hrtimer before clearing slave pointer",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-74461.json",
      "version": "1"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-74461\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-15T13:17:50.763\",\"lastModified\":\"2026-08-19T17:21:03.083\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ni2c: imx: Cancel hrtimer before clearing slave pointer\\n\\nIn i2c_imx_unreg_slave(), the slave pointer is set to NULL after\\ndisabling interrupts.  However, a pending interrupt might already\\nhave started the hrtimer (i2c_imx_slave_timeout) before the pointer\\nwas cleared.  If the hrtimer fires after i2c_imx-\u003eslave is set to\\nNULL, the timer callback i2c_imx_slave_finish_op() will call\\ni2c_imx_slave_event() with a NULL slave pointer, which results in a\\nuse-after-free / NULL pointer dereference.\\n\\nFix by canceling the hrtimer and waiting for it to complete after\\ndisabling interrupts, before clearing the slave pointer.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/i2c/busses/i2c-imx.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"f7414cd6923fd7f78e57086fc964ba2dc25db5c1\",\"lessThan\":\"e3da77bdb4015051656bb472c295656bbea03b6f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"f7414cd6923fd7f78e57086fc964ba2dc25db5c1\",\"lessThan\":\"470fe15fb3bb2eba6629be301ca7e991ee3cfb7e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"f7414cd6923fd7f78e57086fc964ba2dc25db5c1\",\"lessThan\":\"a8a1f9ac3d763e721586f15479ef9140b216ddf3\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"f7414cd6923fd7f78e57086fc964ba2dc25db5c1\",\"lessThan\":\"753060f2b77ff2f386addbd3ecadb95b9f90cddd\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"f7414cd6923fd7f78e57086fc964ba2dc25db5c1\",\"lessThan\":\"affd62f5719a78135b7441aa49c8cab3c3b5e838\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"f7414cd6923fd7f78e57086fc964ba2dc25db5c1\",\"lessThan\":\"dab4762ee7f3fd0a01980d5407ba48d0261d3bff\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"f7414cd6923fd7f78e57086fc964ba2dc25db5c1\",\"lessThan\":\"6ac7702b6cc2b94aaed9ef2d95bfbefcdc90061f\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/i2c/busses/i2c-imx.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.11\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.11\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.216\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.183\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.151\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.103\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.44\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.8\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":8.4,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.5,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/470fe15fb3bb2eba6629be301ca7e991ee3cfb7e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/6ac7702b6cc2b94aaed9ef2d95bfbefcdc90061f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/753060f2b77ff2f386addbd3ecadb95b9f90cddd\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a8a1f9ac3d763e721586f15479ef9140b216ddf3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/affd62f5719a78135b7441aa49c8cab3c3b5e838\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/dab4762ee7f3fd0a01980d5407ba48d0261d3bff\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e3da77bdb4015051656bb472c295656bbea03b6f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-19T17:41:57+00:00",
      "cve": "CVE-2026-74461",
      "id": "CVE-2026-74461",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "184",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: i2c: imx: Cancel hrtimer before clearing slave pointer",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-74461.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…