CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's qcom-rng implementation, where concurrent access to the same hardware registers through two separate interfaces (crypto_rng and hwrng) can lead to the generation of non-random values and potential output repetition. While the crypto_rng interface is largely unused and redundant, its presence complicates the code and increases the risk of erroneous behavior. Developers and system administrators using affected Linux distributions should prioritize this issue to enhance the reliability of random number generation in their systems.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: crypto: qcom-rng - Remove crypto_rng interface qcom-rng.c exposes the same hardware through two completely separate interfaces, crypto_rng 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, qcom_rng_generate() synchronizes with itself but not with qcom_hwrng_read(). 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 crypto_rng interface. It's not actually used by anything besides the "rng" algorithm type of AF_ALG, which in turn is not actually used in practice. Other crypto_rng 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.