# CVE-2022-48629: linux: In the Linux kernel, the following vulnerability has been resolved:  crypto: qcom-rng - ensure buffer for generate is...

CVE-2022-48629 is fixed in linux on 1 platform, first by DEBIAN-CVE-2022-48629, released March 5, 2024. It is not reported as exploited. Patch Radar priority: Routine.

- Web page: https://patchblox.com/security/cve/CVE-2022-48629
- Priority: Routine
- CVSS: 5.5 (medium)
- EPSS: 0.0054
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Mar 5, 2024

## Description

In the Linux kernel, the following vulnerability has been resolved:  crypto: qcom-rng - ensure buffer for generate is completely filled  The generate function in struct rng_alg expects that the destination buffer is completely filled if the function returns 0. qcom_rng_read() can run into a situation where the buffer is partially filled with randomness and the remaining part of the buffer is zeroed since qcom_rng_generate() doesn't check the return value. This issue can be reproduced by running the following from libkcapi:      kcapi-rng -b 9000000 > OUTFILE  The generated OUTFILE will have three huge sections that contain all zeros, and this is caused by the code where the test 'val & PRNG_STATUS_DATA_AVAIL' fails.  Let's fix this issue by ensuring that qcom_rng_read() always returns with a full buffer if the function returns success. Let's also have qcom_rng_generate() return the correct value.  Here's some statistics from the ent project (https://www.fourmilab.ch/random/) that shows information about the quality of the generated numbers:      $ ent -c qcom-random-before     Value Char Occurrences Fraction       0           606748   0.067416       1            33104   0.003678       2            33001   0.003667     ...     253   �        32883   0.003654     254   �        33035   0.003671     255   �        33239   0.003693      Total:       9000000   1.000000      Entropy = 7.811590 bits per byte.      Optimum compression would reduce the size     of this 9000000 byte file by 2 percent.      Chi square distribution for 9000000 samples is 9329962.81, and     randomly would exceed this value less than 0.01 percent of the     times.      Arithmetic mean value of data bytes is 119.3731 (127.5 = random).     Monte Carlo value for Pi is 3.197293333 (error 1.77 percent).     Serial correlation coefficient is 0.159130 (totally uncorrelated =     0.0).  Without this patch, the results of the chi-square test is 0.01%, and the numbers are certainly not random according to ent's project page. The results improve with this patch:      $ ent -c qcom-random-after     Value Char Occurrences Fraction       0            35432   0.003937       1            35127   0.003903       2            35424   0.003936     ...     253   �        35201   0.003911     254   �        34835   0.003871     255   �        35368   0.003930      Total:       9000000   1.000000      Entropy = 7.999979 bits per byte.      Optimum compression would reduce the size     of this 9000000 byte file by 0 percent.      Chi square distribution for 9000000 samples is 258.77, and randomly     would exceed this value 42.24 percent of the times.      Arithmetic mean value of data bytes is 127.5006 (127.5 = random).     Monte Carlo value for Pi is 3.141277333 (error 0.01 percent).     Serial correlation coefficient is 0.000468 (totally uncorrelated =     0.0).  This change was tested on a Nexus 5 phone (msm8974 SoC).

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | linux Debian 12.15 (bookworm) | 5.16.18-1 | [DEBIAN-CVE-2022-48629](https://patchblox.com/security/data/fix/linux/debian-cve-2022-48629.md) | Mar 5, 2024 |
| Linux | linux Debian 13.5 (trixie) | 5.16.18-1 | [DEBIAN-CVE-2022-48629](https://patchblox.com/security/data/fix/linux/debian-cve-2022-48629.md) | Mar 5, 2024 |
| Linux | linux Debian 14 | 5.16.18-1 | [DEBIAN-CVE-2022-48629](https://patchblox.com/security/data/fix/linux/debian-cve-2022-48629.md) | Mar 5, 2024 |

---

Data as of 2026-11-08T00:53:09Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
