Executive brief
The Linux kernel's Qualcomm random number generator (RNG) driver incorrectly rejected zero as a valid random value, making its output distinguishable from true randomness. This weakens the cryptographic security of systems relying on this hardware RNG for generating random numbers used in encryption, key derivation, and other security-critical operations.
Technical details
The vulnerability is a logic error in the Qualcomm RNG driver (drivers/crypto/qcom-rng.c) that validates output from the hardware random number generator. The vulnerable code checked `if (!val) return -EINVAL;`, rejecting any output equal to zero. Since zero is a valid random value with the same probability as any other output, filtering it out introduces statistical bias and makes the RNG output distinguishable from true randomness using statistical tests. The fix simply removes this invalid check. This affects any system using Qualcomm hardware RNG for cryptographic purposes, though the impact is limited to statistical distinguishability rather than practical cryptanalysis in most scenarios. The patch was committed upstream and backported across all stable kernel branches.
Affected products
- Linux Linux kernel Multiple versions (fix backported across linux-2.6.11.y through linux-7.2.y and rolling branches)
Timeline
- 2026-09-09: disclosed: CVE-2026-80922 published
- 2026-06-08: patched: Upstream fix committed by Eric Biggers (commit 4ef04bdc0c9f98836d1638be516f6bf1bad55f69)
- 2026-09-02: patched: Backported to stable kernel branches