Read the docs
TI-2022-24161 Aliases CVE-2022-48629GHSA-2689-83hc-5vvp

crypto: qcom-rng - ensure buffer for generate is completely filled

Priority LOW 36Published · Updated

Key facts

Attack vector
Adjacent network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
High · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA.

Summary

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).

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00535 45th percentileScored 2026-11-07
Public exploit Yes 6 exploit referencesTagged by NVD
Fix Fixed Linux (Linux): 4.19.236, 5.4.187, 5.10.108 +3

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux4.19 and later4.19.236, 5.4.187, 5.10.108, 5.15.31, 5.16.17, 5.17Patch availableCNA
  • Linux VendorLinux Affected 4.19 and later Fixed in 4.19.236, 5.4.187, 5.10.108, 5.15.31, 5.16.17, 5.17 Patch available CNA

CPE configurations NVD · 9

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*4.19 to before 4.19.236; 4.20 to before 5.4.187; 5.5 to before 5.10.108; 5.11 to before 5.15.31; 5.16 to before 5.16.17VulnerableLinux
cpe:2.3:o:linux:linux_kernel:5.17:rc1:*:*:*:*:*:*5.17 rc1VulnerableLinux
cpe:2.3:o:linux:linux_kernel:5.17:rc2:*:*:*:*:*:*5.17 rc2VulnerableLinux
cpe:2.3:o:linux:linux_kernel:5.17:rc3:*:*:*:*:*:*5.17 rc3VulnerableLinux
cpe:2.3:o:linux:linux_kernel:5.17:rc4:*:*:*:*:*:*5.17 rc4VulnerableLinux
cpe:2.3:o:linux:linux_kernel:5.17:rc5:*:*:*:*:*:*5.17 rc5VulnerableLinux
cpe:2.3:o:linux:linux_kernel:5.17:rc6:*:*:*:*:*:*5.17 rc6VulnerableLinux
cpe:2.3:o:linux:linux_kernel:5.17:rc7:*:*:*:*:*:*5.17 rc7VulnerableLinux
cpe:2.3:o:linux:linux_kernel:5.17:rc8:*:*:*:*:*:*5.17 rc8VulnerableLinux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 4.19 to before 4.19.236; 4.20 to before 5.4.187; 5.5 to before 5.10.108; 5.11 to before 5.15.31; 5.16 to before 5.16.17 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:5.17:rc1:*:*:*:*:*:* Versions 5.17 rc1 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:5.17:rc2:*:*:*:*:*:* Versions 5.17 rc2 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:5.17:rc3:*:*:*:*:*:* Versions 5.17 rc3 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:5.17:rc4:*:*:*:*:*:* Versions 5.17 rc4 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:5.17:rc5:*:*:*:*:*:* Versions 5.17 rc5 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:5.17:rc6:*:*:*:*:*:* Versions 5.17 rc6 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:5.17:rc7:*:*:*:*:*:* Versions 5.17 rc7 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:5.17:rc8:*:*:*:*:*:* Versions 5.17 rc8 Vulnerable ·Linux

Remediation

  • Fix · CNA Linux (Linux) Fixed in 4.19.236, 5.4.187, 5.10.108, 5.15.31, 5.16.17, 5.17

Vendor assessments

Red Hat

Red Hat rating: Low. Red Hat's page for this CVE →

Not affected: 4 products
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 9

Timeline

  1. 2026-10-02 Threatist record created from CVE-2022-48629
  2. 2026-10-03 Alias added: GHSA-2689-83hc-5vvp

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
  • TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
See all 15278 →

Sources