CVE-2026-99136 dm-crypt: fix a tiny race condition in crypt_dec_pending

Not scored Published Updated
Exploited in the wild
Not known
Fix
Available

What is CVE-2026-99136?

CVE-2026-99136 is a vulnerability in Linux, published on 28 Oct 2026.

Official description

In the Linux kernel, the following vulnerability has been resolved:

dm-crypt: fix a tiny race condition in crypt_dec_pending

crypt_dec_pending reads io->error before calling atomic_dec_and_test. Another context, for example crypt_endio called from an interrupt, may set io->error and drop its reference between the read and the decrement. crypt_dec_pending then drops the last reference and completes the bio with the stale status - so a read that failed and was never decrypted, or a write that failed, is reported as successful.

The read was placed before the decrement by commit b35f8caa0890 ("dm crypt: wait for endio to complete before destruction"), because that commit freed dm_crypt_io before calling bio_endio. This is no longer the case, dm_crypt_io lives in the per-bio data now.

Read io->error after atomic_dec_and_test instead. atomic_dec_and_test is fully ordered, so no additional barrier is needed.

Which versions are affected by CVE-2026-99136?

How do I fix CVE-2026-99136?

Upgrade to a fixed version.

Is CVE-2026-99136 being exploited?

There is no known exploitation of CVE-2026-99136 in the wild and no public exploit code.

Sources

Also known as AZL-111257, BELL-CVE-2026-99136, DEBIAN-CVE-2026-99136, GHSA-mgww-4g2j-r877, UBUNTU-CVE-2026-99136.

Is CVE-2026-99136 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free