CVE-2026-80835: crypto: qcom-rng - Remove crypto_rng interface
In the Linux kernel, the following vulnerability has been resolved:
crypto: qcom-rng - Remove cryptorng interface
qcom-rng.c exposes the same hardware through two completely separate interfaces, cryptorng and hwrng. However, the implementation of this is buggy because it permits generation operations from these interfaces to run concurrently with each other, accessing the same registers. That is, qcomrnggenerate() synchronizes with itself but not with qcomhwrngread(). This results in potential repetition of output from the RNG, output of non-random values, etc.
Fortunately, there's actually no point in hardware RNG drivers implementing the cryptorng interface. It's not actually used by anything besides the "rng" algorithm type of AFALG, which in turn is not actually used in practice. Other cryptorng hardware drivers are likewise being phased out, leaving just the hwrng support.
Thus, remove it to simplify the code and avoid conflict (and confusion) with the hwrng interface which is the one that actually matters.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Remove
Remove
crypto: qcom-rng - Remove crypto_rng interfacefrom your environment.Remove the crypto_rng interface from qcom-rng (crypto: qcom-rng - Remove crypto_rng interface) to simplify the code and avoid conflicts between the crypto_rng and hwrng access paths.
Event History
Frequently Asked Questions
What condition is required for the RNG output issue to occur?
Generation operations through both the qcom-rng crypto_rng interface and the hwrng interface must run concurrently. The two paths access the same hardware registers but do not synchronize with each other.
Who is realistically exposed to this issue?
Systems using the Qualcomm qcom-rng driver are relevant, particularly if both exposed interfaces can be used concurrently. The crypto_rng interface is described as having no practical users beyond the AF_ALG "rng" algorithm type, which itself is not used in practice.
What is the potential impact of successful triggering?
Concurrent access can cause repeated RNG output or output that is not random. This can undermine the reliability of values produced by the affected hardware RNG.
What change resolves the issue?
The resolution removes the qcom-rng crypto_rng interface and retains hwrng support. This eliminates the conflicting second interface to the same hardware registers.