{"id":"CVE-2026-99136","revision":"2fbdaec2ba7149859abf5d1991333538","records":[{"revision":"2fbdaec2ba7149859abf5d1991333538","observedAt":"2026-10-28T11:27:43.363+00:00","statement":{"source":"cve-program","id":"CVE-2026-99136","aliases":[],"title":"dm-crypt: fix a tiny race condition in crypt_dec_pending","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndm-crypt: fix a tiny race condition in crypt_dec_pending\n\ncrypt_dec_pending reads io->error before calling atomic_dec_and_test.\nAnother context, for example crypt_endio called from an interrupt, may\nset io->error and drop its reference between the read and the\ndecrement. crypt_dec_pending then drops the last reference and completes\nthe bio with the stale status - so a read that failed and was never\ndecrypted, or a write that failed, is reported as successful.\n\nThe read was placed before the decrement by commit b35f8caa0890 (\"dm\ncrypt: wait for endio to complete before destruction\"), because that\ncommit freed dm_crypt_io before calling bio_endio. This is no longer the\ncase, dm_crypt_io lives in the per-bio data now.\n\nRead io->error after atomic_dec_and_test instead. atomic_dec_and_test is\nfully ordered, so no additional barrier is needed.","state":0,"publishedAt":"2026-10-28T10:34:48.558+00:00","modifiedAt":"2026-10-28T10:34:48.558+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/md/dm-crypt.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"b35f8caa0890169000fec22902290d9a15274cbd\",\n                            \"lessThan\": \"ac5d887ab93592fc5e3605fe30c1d8d232d609b3\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"b35f8caa0890169000fec22902290d9a15274cbd\",\n                            \"lessThan\": \"4f16bb982b27b9f5a15301f622c318001fe521f8\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"b35f8caa0890169000fec22902290d9a15274cbd\",\n                            \"lessThan\": \"148845aa1921d95ef5dc851c76e6a284f6657df6\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"9c8f3fcd3ffd3283cc0971c8919058356f20a963\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"2.6.28.9\",\n                            \"lessThan\": \"2.6.29\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/md/dm-crypt.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"2.6.29\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"2.6.29\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.59\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.13\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/ac5d887ab93592fc5e3605fe30c1d8d232d609b3","https://git.kernel.org/stable/c/4f16bb982b27b9f5a15301f622c318001fe521f8","https://git.kernel.org/stable/c/148845aa1921d95ef5dc851c76e6a284f6657df6"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-99136","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-99136","identifiers":["CVE-2026-99136"]},"retained":false,"historicalAffected":[]}],"coverage":[]}