{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-53400","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-06-09T07:44:35.403Z","datePublished":"2026-07-19T12:02:00.632Z","dateUpdated":"2026-08-17T04:50:52.550Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-17T04:50:52.550Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ni2c: core: fix adapter registration race\n\nAdapters can be looked up based on their id using i2c_get_adapter()\nwhich takes a reference to the embedded struct device.\n\nMake sure that the adapter (including its struct device) has been\ninitialised before adding it to the IDR to avoid accessing uninitialised\ndata which could, for example, lead to NULL-pointer dereferences or\nuse-after-free.\n\nNote that the i2c-dev chardev, which is registered from a bus notifier,\ncurrently uses i2c_get_adapter() so the adapter needs to be added to the\nIDR before registration."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The flaw is reached through local kernel I2C adapter registration/lookup paths (module load, hotplug, concurrent probe) and userspace access to /dev/i2c-* via open(); there is no remote network entry point to i2c_get_adapter().\nAC:L - An attacker can repeatedly trigger adapter registration (e.g., modprobe/rmmod of I2C drivers, USB hotplug) while concurrently driving i2c_get_adapter() lookups, controlling both sides of the race window rather than depending on uncontrollable timing.\nPR:L - Exploitation requires a local unprivileged user with basic capabilities such as membership in the i2c group for /dev/i2c-* access or CAP_SYS_MODULE within a user namespace to load I2C drivers, not full init-namespace root.\nUI:N - No victim interaction is required; the attacker can autonomously trigger the race through module loading, hotplug, and concurrent I2C device access.\nS:U - Impact is confined to kernel memory corruption and privilege escalation within the same security authority; this is not a VM escape or cross-boundary sandbox breakout.\nC:H - Calling get_device() on an uninitialized struct device can cause use-after-free and read of uninitialized kobject memory, which the fix commit explicitly identifies as a UAF/info-disclosure class bug.\nI:H - Use-after-free and uninitialized kobject refcount corruption can be leveraged for arbitrary kernel memory writes and control-flow hijacking, consistent with UAF exploitation potential cited in the fix.\nA:H - The race can trigger NULL-pointer dereferences or use-after-free in kernel context, causing oops/panic and complete loss of system availability."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/i2c/i2c-core-base.c"],"versions":[{"version":"6e13e641841833cc2aa5baefe89bb04bc388801b","lessThan":"2e57c788e71f1763445f812eba4e0b4a2fbd0646","status":"affected","versionType":"git"},{"version":"6e13e641841833cc2aa5baefe89bb04bc388801b","lessThan":"a4365bc41baaf67f3a5aa8556d23544e6ec7480a","status":"affected","versionType":"git"},{"version":"6e13e641841833cc2aa5baefe89bb04bc388801b","lessThan":"1febb174815bcae56d73587e99e8f87e02f0784d","status":"affected","versionType":"git"},{"version":"6e13e641841833cc2aa5baefe89bb04bc388801b","lessThan":"da9d8d9711f78deebc202d0cffcf577e45ee8621","status":"affected","versionType":"git"},{"version":"6e13e641841833cc2aa5baefe89bb04bc388801b","lessThan":"78793c75dc6d0ff2e4d50ad617349b328a99054e","status":"affected","versionType":"git"},{"version":"6e13e641841833cc2aa5baefe89bb04bc388801b","lessThan":"6a946038f2a5a8c29048c6af369d4e391448a5c5","status":"affected","versionType":"git"},{"version":"6e13e641841833cc2aa5baefe89bb04bc388801b","lessThan":"a4c8094bbf4c6fa68b17e3b16f6a0a1b7a14f3e0","status":"affected","versionType":"git"},{"version":"6e13e641841833cc2aa5baefe89bb04bc388801b","lessThan":"ba14d7cf2fe7284610a29854bdff22b2537d3ce6","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/i2c/i2c-core-base.c"],"versions":[{"version":"2.6.22","status":"affected"},{"version":"0","lessThan":"2.6.22","status":"unaffected","versionType":"semver"},{"version":"5.10.261","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.212","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.178","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.145","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.95","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.38","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.1.3","lessThanOrEqual":"7.1.*","status":"unaffected","versionType":"semver"},{"version":"7.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.22","versionEndExcluding":"5.10.261"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.22","versionEndExcluding":"5.15.212"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.22","versionEndExcluding":"6.1.178"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.22","versionEndExcluding":"6.6.145"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.22","versionEndExcluding":"6.12.95"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.22","versionEndExcluding":"6.18.38"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.22","versionEndExcluding":"7.1.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.22","versionEndExcluding":"7.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/2e57c788e71f1763445f812eba4e0b4a2fbd0646"},{"url":"https://git.kernel.org/stable/c/a4365bc41baaf67f3a5aa8556d23544e6ec7480a"},{"url":"https://git.kernel.org/stable/c/1febb174815bcae56d73587e99e8f87e02f0784d"},{"url":"https://git.kernel.org/stable/c/da9d8d9711f78deebc202d0cffcf577e45ee8621"},{"url":"https://git.kernel.org/stable/c/78793c75dc6d0ff2e4d50ad617349b328a99054e"},{"url":"https://git.kernel.org/stable/c/6a946038f2a5a8c29048c6af369d4e391448a5c5"},{"url":"https://git.kernel.org/stable/c/a4c8094bbf4c6fa68b17e3b16f6a0a1b7a14f3e0"},{"url":"https://git.kernel.org/stable/c/ba14d7cf2fe7284610a29854bdff22b2537d3ce6"}],"title":"i2c: core: fix adapter registration race","x_generator":{"engine":"bippy-1.2.0"}}}}