CVE-2026-99136

high

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.

References

https://git.kernel.org/stable/c/ac5d887ab93592fc5e3605fe30c1d8d232d609b3

https://git.kernel.org/stable/c/4f16bb982b27b9f5a15301f622c318001fe521f8

https://git.kernel.org/stable/c/148845aa1921d95ef5dc851c76e6a284f6657df6

https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-111888

Details

Source: Mitre, NVD

Published: 2026-10-28

Updated: 2026-10-28

Risk Information

CVSS v2

Base Score: 4.3

Vector: CVSS2#AV:N/AC:M/Au:N/C:P/I:N/A:N

Severity: Medium

CVSS v3

Base Score: 7.1

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H

Severity: High

EPSS

EPSS: 0.00167