{"id":"CVE-2026-99136","title":"dm-crypt: fix a tiny race condition in crypt_dec_pending","summary":"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…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= b35f8caa0890169000fec22902290d9a15274cbd < ac5d887ab93592fc5e3605fe30c1d8d232d609b3","Linux >= b35f8caa0890169000fec22902290d9a15274cbd < 4f16bb982b27b9f5a15301f622c318001fe521f8","Linux >= b35f8caa0890169000fec22902290d9a15274cbd < 148845aa1921d95ef5dc851c76e6a284f6657df6","Linux 9c8f3fcd3ffd3283cc0971c8919058356f20a963","Linux >= 2.6.28.9 < 2.6.29","Linux 2.6.29"],"published":"2026-10-28","updated":"2026-10-28","sourceUpdated":"2026-10-28T10:34:48.558Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-99136","references":[{"url":"https://git.kernel.org/stable/c/ac5d887ab93592fc5e3605fe30c1d8d232d609b3"},{"url":"https://git.kernel.org/stable/c/4f16bb982b27b9f5a15301f622c318001fe521f8"},{"url":"https://git.kernel.org/stable/c/148845aa1921d95ef5dc851c76e6a284f6657df6"}],"tags":["cve.org"],"ingestedAt":"2026-10-28T11:09:40.432Z","slug":"CVE-2026-99136","body":"## Overview\n\nIn 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.\n\n## Affected\n\n- `Linux >= b35f8caa0890169000fec22902290d9a15274cbd < ac5d887ab93592fc5e3605fe30c1d8d232d609b3`\n- `Linux >= b35f8caa0890169000fec22902290d9a15274cbd < 4f16bb982b27b9f5a15301f622c318001fe521f8`\n- `Linux >= b35f8caa0890169000fec22902290d9a15274cbd < 148845aa1921d95ef5dc851c76e6a284f6657df6`\n- `Linux 9c8f3fcd3ffd3283cc0971c8919058356f20a963`\n- `Linux >= 2.6.28.9 < 2.6.29`\n- `Linux 2.6.29`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}