{"id":"CVE-2024-35997","state":"PUBLISHED","title":"HID: i2c-hid: remove I2C_HID_READ_PENDING flag to prevent lock-up","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nHID: i2c-hid: remove I2C_HID_READ_PENDING flag to prevent lock-up\n\nThe flag I2C_HID_READ_PENDING is used to serialize I2C operations.\nHowever, this is not necessary, because I2C core already has its own\nlocking for that.\n\nMore importantly, this flag can cause a lock-up: if the flag is set in\ni2c_hid_xfer() and an interrupt happens, the interrupt handler\n(i2c_hid_irq) will check this flag and return immediately without doing\nanything, then the interrupt handler will be invoked again in an\ninfinite loop.\n\nSince interrupt handler is an RT task, it takes over the CPU and the\nflag-clearing task never gets scheduled, thus we have a lock-up.\n\nDelete this unnecessary flag.","publishedAt":"2024-05-20T09:48:00.363Z","updatedAt":"2026-10-15T00:42:03.895Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"21bfca822cfc1e71796124e93b46e0d9fa584401","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"c448a9fd50f77e8fb9156ff64848aa4295eb3003","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"5095b93021b899f54c9355bebf36d78854c33a22","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"b65fb50e04a95eec34a9d1bc138454a98a5578d8","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"0561b65fbd53d3e788c5b0222d9112ca016fd6a1","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"29e94f295bad5be59cf4271a93e22cdcf5536722","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"418c5575d56410c6e186ab727bf32ae32447d497","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"9c0f59e47a90c54d0153f8ddc0f80d7a36207d0e","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hid/i2c-hid/i2c-hid-core.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.8","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/hid/i2c-hid/i2c-hid-core.c"]}],"references":["https://git.kernel.org/stable/c/21bfca822cfc1e71796124e93b46e0d9fa584401","https://git.kernel.org/stable/c/c448a9fd50f77e8fb9156ff64848aa4295eb3003","https://git.kernel.org/stable/c/5095b93021b899f54c9355bebf36d78854c33a22","https://git.kernel.org/stable/c/b65fb50e04a95eec34a9d1bc138454a98a5578d8","https://git.kernel.org/stable/c/0561b65fbd53d3e788c5b0222d9112ca016fd6a1","https://git.kernel.org/stable/c/29e94f295bad5be59cf4271a93e22cdcf5536722","https://git.kernel.org/stable/c/418c5575d56410c6e186ab727bf32ae32447d497","https://git.kernel.org/stable/c/9c0f59e47a90c54d0153f8ddc0f80d7a36207d0e","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"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:30.303Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/35xxx/CVE-2024-35997.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-35997","state":"PUBLISHED","datePublished":"2024-05-20T09:48:00.363Z","dateUpdated":"2026-10-15T00:42:03.895Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-05-17T13:50:33.148Z"},"containers":{"cna":{"title":"HID: i2c-hid: remove I2C_HID_READ_PENDING flag to prevent lock-up","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nHID: i2c-hid: remove I2C_HID_READ_PENDING flag to prevent lock-up\n\nThe flag I2C_HID_READ_PENDING is used to serialize I2C operations.\nHowever, this is not necessary, because I2C core already has its own\nlocking for that.\n\nMore importantly, this flag can cause a lock-up: if the flag is set in\ni2c_hid_xfer() and an interrupt happens, the interrupt handler\n(i2c_hid_irq) will check this flag and return immediately without doing\nanything, then the interrupt handler will be invoked again in an\ninfinite loop.\n\nSince interrupt handler is an RT task, it takes over the CPU and the\nflag-clearing task never gets scheduled, thus we have a lock-up.\n\nDelete this unnecessary flag."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"21bfca822cfc1e71796124e93b46e0d9fa584401","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"c448a9fd50f77e8fb9156ff64848aa4295eb3003","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"5095b93021b899f54c9355bebf36d78854c33a22","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"b65fb50e04a95eec34a9d1bc138454a98a5578d8","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"0561b65fbd53d3e788c5b0222d9112ca016fd6a1","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"29e94f295bad5be59cf4271a93e22cdcf5536722","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"418c5575d56410c6e186ab727bf32ae32447d497","versionType":"git"},{"version":"4a200c3b9a40242652b5734630bdd0bcf3aca75f","status":"affected","lessThan":"9c0f59e47a90c54d0153f8ddc0f80d7a36207d0e","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hid/i2c-hid/i2c-hid-core.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.8","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/hid/i2c-hid/i2c-hid-core.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/21bfca822cfc1e71796124e93b46e0d9fa584401"},{"url":"https://git.kernel.org/stable/c/c448a9fd50f77e8fb9156ff64848aa4295eb3003"},{"url":"https://git.kernel.org/stable/c/5095b93021b899f54c9355bebf36d78854c33a22"},{"url":"https://git.kernel.org/stable/c/b65fb50e04a95eec34a9d1bc138454a98a5578d8"},{"url":"https://git.kernel.org/stable/c/0561b65fbd53d3e788c5b0222d9112ca016fd6a1"},{"url":"https://git.kernel.org/stable/c/29e94f295bad5be59cf4271a93e22cdcf5536722"},{"url":"https://git.kernel.org/stable/c/418c5575d56410c6e186ab727bf32ae32447d497"},{"url":"https://git.kernel.org/stable/c/9c0f59e47a90c54d0153f8ddc0f80d7a36207d0e"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T20:15:18.778Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"4.19.313"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"5.4.275"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"5.10.216"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"5.15.158"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"6.1.90"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"6.6.30"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"6.8.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"6.9"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","affected":[{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"4a200c3b9a40","status":"affected","lessThan":"c448a9fd50f7","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"4a200c3b9a40","status":"affected","lessThan":"b65fb50e04a9","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"4a200c3b9a40","status":"affected","lessThan":"5095b93021b8","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"4a200c3b9a40","status":"affected","lessThan":"21bfca822cfc","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"4a200c3b9a40","status":"affected","lessThan":"29e94f295bad","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"4a200c3b9a40","status":"affected","lessThan":"418c5575d564","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"4a200c3b9a40","status":"affected","lessThanOrEqual":"9c0f59e47a90","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"3.8","status":"affected"}],"cpes":["cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"0","status":"unaffected","lessThan":"3.8","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"4.19.313","status":"unaffected","lessThanOrEqual":"4.20","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"5.4.275","status":"unaffected","lessThanOrEqual":"5.5","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"5.10.216","status":"unaffected","lessThanOrEqual":"5.11","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"5.15.158","status":"unaffected","lessThanOrEqual":"5.16","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"6.1.90","status":"unaffected","lessThanOrEqual":"6.2","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"6.6.30","status":"unaffected","lessThanOrEqual":"6.7","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"6.8.9","status":"unaffected","lessThanOrEqual":"6.9","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"6.9","status":"unaffected"}],"cpes":["cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*"]},{"vendor":"linux","product":"linux_kernel","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"0561b65fbd53","versionType":"custom"}],"cpes":["cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2025-01-16T21:06:56.094266Z","id":"CVE-2024-35997","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-01-16T21:08:33.482Z"}},{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/21bfca822cfc1e71796124e93b46e0d9fa584401","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/c448a9fd50f77e8fb9156ff64848aa4295eb3003","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/5095b93021b899f54c9355bebf36d78854c33a22","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/b65fb50e04a95eec34a9d1bc138454a98a5578d8","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/0561b65fbd53d3e788c5b0222d9112ca016fd6a1","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/29e94f295bad5be59cf4271a93e22cdcf5536722","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/418c5575d56410c6e186ab727bf32ae32447d497","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/9c0f59e47a90c54d0153f8ddc0f80d7a36207d0e","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:30:12.481Z"}},{"affected":[{"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"}],"providerMetadata":{"shortName":"siemens-SADP","orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","dateUpdated":"2026-10-15T00:42:03.895Z"},"x_adpType":"supplier"}]}}}