{"id":"CVE-2024-35984","state":"PUBLISHED","title":"i2c: smbus: fix NULL function pointer dereference","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ni2c: smbus: fix NULL function pointer dereference\n\nBaruch reported an OOPS when using the designware controller as target\nonly. Target-only modes break the assumption of one transfer function\nalways being available. Fix this by always checking the pointer in\n__i2c_transfer.\n\n[wsa: dropped the simplification in core-smbus to avoid theoretical regressions]","publishedAt":"2024-05-20T09:47:51.738Z","updatedAt":"2026-10-15T00:41:58.295Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"40f1d79f07b49c8a64a861706e5163f2db4bd95d","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"ad3c3ac7a03be3697114f781193dd3e9d97e6e23","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"5fd72404587d7db4acb2d241fd8c387afb0a7aec","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"5a09eae9a7db597fe0c1fc91636205b4a25d2620","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"4e75e222d397c6752b229ed72fc4644c8c36ecde","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"e3425674ff68dc521c57c6eabad0cbd20a027d85","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"357c64ef1ef39b1e7cd91ab6bdd304d043702c83","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"91811a31b68d3765b3065f4bb6d7d6d84a7cfc9f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/i2c/i2c-core-base.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.19","versionType":"semver"},{"version":"4.19.313","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.275","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.216","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.158","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.90","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.30","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.8.9","status":"unaffected","lessThanOrEqual":"6.8.*","versionType":"semver"},{"version":"6.9","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/i2c/i2c-core-base.c"]}],"references":["https://git.kernel.org/stable/c/40f1d79f07b49c8a64a861706e5163f2db4bd95d","https://git.kernel.org/stable/c/ad3c3ac7a03be3697114f781193dd3e9d97e6e23","https://git.kernel.org/stable/c/5fd72404587d7db4acb2d241fd8c387afb0a7aec","https://git.kernel.org/stable/c/5a09eae9a7db597fe0c1fc91636205b4a25d2620","https://git.kernel.org/stable/c/4e75e222d397c6752b229ed72fc4644c8c36ecde","https://git.kernel.org/stable/c/e3425674ff68dc521c57c6eabad0cbd20a027d85","https://git.kernel.org/stable/c/357c64ef1ef39b1e7cd91ab6bdd304d043702c83","https://git.kernel.org/stable/c/91811a31b68d3765b3065f4bb6d7d6d84a7cfc9f","https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html","https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html","https://cert-portal.siemens.com/productcert/html/ssa-265688.html","https://cert-portal.siemens.com/productcert/html/ssa-613116.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:30.303Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/35xxx/CVE-2024-35984.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-35984","state":"PUBLISHED","datePublished":"2024-05-20T09:47:51.738Z","dateUpdated":"2026-10-15T00:41:58.295Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-05-17T13:50:33.145Z"},"containers":{"cna":{"title":"i2c: smbus: fix NULL function pointer dereference","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ni2c: smbus: fix NULL function pointer dereference\n\nBaruch reported an OOPS when using the designware controller as target\nonly. Target-only modes break the assumption of one transfer function\nalways being available. Fix this by always checking the pointer in\n__i2c_transfer.\n\n[wsa: dropped the simplification in core-smbus to avoid theoretical regressions]"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"40f1d79f07b49c8a64a861706e5163f2db4bd95d","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"ad3c3ac7a03be3697114f781193dd3e9d97e6e23","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"5fd72404587d7db4acb2d241fd8c387afb0a7aec","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"5a09eae9a7db597fe0c1fc91636205b4a25d2620","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"4e75e222d397c6752b229ed72fc4644c8c36ecde","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"e3425674ff68dc521c57c6eabad0cbd20a027d85","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"357c64ef1ef39b1e7cd91ab6bdd304d043702c83","versionType":"git"},{"version":"63453b59e41173241c4efe9335815f6432fa8586","status":"affected","lessThan":"91811a31b68d3765b3065f4bb6d7d6d84a7cfc9f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/i2c/i2c-core-base.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.19","versionType":"semver"},{"version":"4.19.313","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.275","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.216","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.158","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.90","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.30","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.8.9","status":"unaffected","lessThanOrEqual":"6.8.*","versionType":"semver"},{"version":"6.9","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/i2c/i2c-core-base.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/40f1d79f07b49c8a64a861706e5163f2db4bd95d"},{"url":"https://git.kernel.org/stable/c/ad3c3ac7a03be3697114f781193dd3e9d97e6e23"},{"url":"https://git.kernel.org/stable/c/5fd72404587d7db4acb2d241fd8c387afb0a7aec"},{"url":"https://git.kernel.org/stable/c/5a09eae9a7db597fe0c1fc91636205b4a25d2620"},{"url":"https://git.kernel.org/stable/c/4e75e222d397c6752b229ed72fc4644c8c36ecde"},{"url":"https://git.kernel.org/stable/c/e3425674ff68dc521c57c6eabad0cbd20a027d85"},{"url":"https://git.kernel.org/stable/c/357c64ef1ef39b1e7cd91ab6bdd304d043702c83"},{"url":"https://git.kernel.org/stable/c/91811a31b68d3765b3065f4bb6d7d6d84a7cfc9f"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T20:15:00.753Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"4.19.313"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"5.4.275"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"5.10.216"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"5.15.158"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.1.90"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.6.30"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.8.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.9"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-35984","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-05-21T15:11:46.719693Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-06-04T17:33:32.705Z"}},{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/40f1d79f07b49c8a64a861706e5163f2db4bd95d","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/ad3c3ac7a03be3697114f781193dd3e9d97e6e23","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/5fd72404587d7db4acb2d241fd8c387afb0a7aec","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/5a09eae9a7db597fe0c1fc91636205b4a25d2620","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/4e75e222d397c6752b229ed72fc4644c8c36ecde","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/e3425674ff68dc521c57c6eabad0cbd20a027d85","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/357c64ef1ef39b1e7cd91ab6bdd304d043702c83","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/91811a31b68d3765b3065f4bb6d7d6d84a7cfc9f","tags":["x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html","tags":["x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html","tags":["x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-02T03:21:49.037Z"}},{"affected":[{"vendor":"Siemens","product":"RUGGEDCOM RST2428P","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"V3.1","versionType":"custom"}]},{"vendor":"Siemens","product":"SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family","defaultStatus":"unknown","versions":[{"version":"0","status":"unaffected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SCALANCE XCM-/XRM-/XCH-/XRH-300 family","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"V3.1","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 TM MFP - GNU/Linux subsystem","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"V1.1.1","versionType":"custom"}]}],"references":[{"url":"https://cert-portal.siemens.com/productcert/html/ssa-265688.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-613116.html"}],"providerMetadata":{"shortName":"siemens-SADP","orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","dateUpdated":"2026-10-15T00:41:58.295Z"},"x_adpType":"supplier"}]}}}