udp: Fix memory accounting leak.
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 35 fixed, 3 without a fix
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and Red Hat. Impact type from CWE-401.
Summary
In the Linux kernel, the following vulnerability has been resolved: udp: Fix memory accounting leak. Matt Dowling reported a weird UDP memory usage issue. Under normal operation, the UDP memory usage reported in /proc/net/sockstat remains close to zero. However, it occasionally spiked to 524,288 pages and never dropped. Moreover, the value doubled when the application was terminated. Finally, it caused intermittent packet drops. We can reproduce the issue with the script below [0]: 1. /proc/net/sockstat reports 0 pages # cat /proc/net/sockstat | grep UDP: UDP: inuse 1 mem 0 2. Run the script till the report reaches 524,288 # python3 test.py & sleep 5 # cat /proc/net/sockstat | grep UDP: UDP: inuse 3 mem 524288 <-- (INT_MAX + 1) >> PAGE_SHIFT 3. Kill the socket and confirm the number never drops # pkill python3 && sleep 5 # cat /proc/net/sockstat | grep UDP: UDP: inuse 1 mem 524288 4. (necessary since v6.0) Trigger proto_memory_pcpu_drain() # python3 test.py & sleep 1 && pkill python3 5. The number doubles # cat /proc/net/sockstat | grep UDP: UDP: inuse 1 mem 1048577 The application set INT_MAX to SO_RCVBUF, which triggered an integer overflow in udp_rmem_release(). When a socket is close()d, udp_destruct_common() purges its receive queue and sums up skb->truesize in the queue. This total is calculated and stored in a local unsigned integer variable. The total size is then passed to udp_rmem_release() to adjust memory accounting. However, because the function takes a signed integer argument, the total size can wrap around, causing an overflow. Then, the released amount is calculated as follows: 1) Add size to sk->sk_forward_alloc. 2) Round down sk->sk_forward_alloc to the nearest lower multiple of PAGE_SIZE and assign it to amount. 3) Subtract amount from sk->sk_forward_alloc. 4) Pass amount >> PAGE_SHIFT to __sk_mem_reduce_allocated(). When the issue occurred, the total in udp_destruct_common() was 2147484480 (INT_MAX + 833), which was cast to -2147482816 in udp_rmem_release(). At 1) sk->sk_forward_alloc is changed from 3264 to -2147479552, and 2) sets -2147479552 to amount. 3) reverts the wraparound, so we don't see a warning in inet_sock_destruct(). However, udp_memory_allocated ends up doubling at 4). Since commit 3cd3399dd7a8 ("net: implement per-cpu reserves for memory_allocated"), memory usage no longer doubles immediately after a socket is close()d because __sk_mem_reduce_allocated() caches the amount in udp_memory_per_cpu_fw_alloc. However, the next time a UDP socket receives a packet, the subtraction takes effect, causing UDP memory usage to double. This issue makes further memory allocation fail once the socket's sk->sk_rmem_alloc exceeds net.ipv4.udp_rmem_min, resulting in packet drops. To prevent this issue, let's use unsigned int for the calculation and call sk_forward_alloc_add() only once for the small delta. Note that first_packet_length() also potentially has the same problem. [0]: from socket import * SO_RCVBUFFORCE = 33 INT_MAX = (2 ** 31) - 1 s = socket(AF_INET, SOCK_DGRAM) s.bind(('', 0)) s.setsockopt(SOL_SOCKET, SO_RCVBUFFORCE, INT_MAX) c = socket(AF_INET, SOCK_DGRAM) c.connect(s.getsockname()) data = b'a' * 100 while True: c.send(data)
Why it matters now
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 4.10 and later | 5.4.301, 5.10.246, 5.15.195, 6.1.134, 6.6.87, 6.12.23, 6.13.11, 6.14.2, 6.15 | Patch available | CNA |
- Linux VendorLinux Affected 4.10 and later Fixed in 5.4.301, 5.10.246, 5.15.195, 6.1.134, 6.6.87, 6.12.23, 6.13.11, 6.14.2, 6.15 Patch available CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.10 to before 5.4.301; 5.5 to before 5.10.246; 5.11 to before 5.15.195; 5.16 to before 6.1.134; 6.2 to before 6.6.87; 6.7 to before 6.12.23; 6.13 to before 6.13.11; 6.14 to before 6.14.2 | Vulnerable | Linux |
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 4.10 to before 5.4.301; 5.5 to before 5.10.246; 5.11 to before 5.15.195; 5.16 to before 6.1.134; 6.2 to before 6.6.87; 6.7 to before 6.12.23; 6.13 to before 6.13.11; 6.14 to before 6.14.2 Vulnerable ·Linux
Remediation
- Fix · CNA Linux (Linux) Fixed in 5.4.301, 5.10.246, 5.15.195, 6.1.134, 6.6.87, 6.12.23, 6.13.11, 6.14.2, 6.15
Red Hat 13 advisories
- RHSA-2025:22752 Released 2025-12-04 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux BaseOS AUS (v.8.4) bpftool-4.18.0-305.179.1.el8_4, kernel-4.18.0-305.179.1.el8_4, kernel-abi-stablelists-4.18.0-305.179.1.el8_4 +14
- Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4) bpftool-4.18.0-305.179.1.el8_4, kernel-4.18.0-305.179.1.el8_4, kernel-abi-stablelists-4.18.0-305.179.1.el8_4 +14
- RHSA-2025:17124 Released 2025-10-01 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux BaseOS AUS (v.8.6) bpftool-4.18.0-372.162.1.el8_6, kernel-4.18.0-372.162.1.el8_6, kernel-abi-stablelists-4.18.0-372.162.1.el8_6 +14
- Red Hat Enterprise Linux BaseOS E4S (v.8.6) bpftool-4.18.0-372.162.1.el8_6, kernel-4.18.0-372.162.1.el8_6, kernel-abi-stablelists-4.18.0-372.162.1.el8_6 +19
- Red Hat Enterprise Linux BaseOS TUS (v.8.6) bpftool-4.18.0-372.162.1.el8_6, kernel-4.18.0-372.162.1.el8_6, kernel-abi-stablelists-4.18.0-372.162.1.el8_6 +14
- RHSA-2025:17009 Released 2025-09-30 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux BaseOS E4S (v.8.8) bpftool-4.18.0-477.112.1.el8_8, kernel-4.18.0-477.112.1.el8_8, kernel-abi-stablelists-4.18.0-477.112.1.el8_8 +14
- Red Hat Enterprise Linux BaseOS TUS (v.8.8) bpftool-4.18.0-477.112.1.el8_8, kernel-4.18.0-477.112.1.el8_8, kernel-abi-stablelists-4.18.0-477.112.1.el8_8 +14
Show 10 more Red Hat advisories
- RHSA-2025:16669 Released 2025-09-25 · Red Hat rating Moderatekernel security update
- Red Hat CodeReady Linux Builder EUS (v.9.4) kernel-tools-libs-devel-5.14.0-427.91.1.el9_4, libperf-5.14.0-427.91.1.el9_4
- Red Hat Enterprise Linux AppStream EUS (v.9.4) kernel-64k-debug-devel-5.14.0-427.91.1.el9_4, kernel-64k-debug-devel-matched-5.14.0-427.91.1.el9_4, kernel-64k-devel-5.14.0-427.91.1.el9_4 +11
- Red Hat Enterprise Linux BaseOS EUS (v.9.4) bpftool-7.3.0-427.91.1.el9_4, kernel-5.14.0-427.91.1.el9_4, kernel-64k-5.14.0-427.91.1.el9_4 +29
- Red Hat Enterprise Linux Real Time EUS (v.9.4) kernel-rt-5.14.0-427.91.1.el9_4, kernel-rt-core-5.14.0-427.91.1.el9_4, kernel-rt-debug-5.14.0-427.91.1.el9_4 +9
- Red Hat Enterprise Linux Real Time for NFV EUS (v.9.4) kernel-rt-5.14.0-427.91.1.el9_4, kernel-rt-core-5.14.0-427.91.1.el9_4, kernel-rt-debug-5.14.0-427.91.1.el9_4 +11
- RHSA-2025:15670 Released 2025-09-11 · Red Hat rating Importantkernel security update
- Red Hat Enterprise Linux AppStream E4S (v.9.0) kernel-debug-devel-5.14.0-70.146.1.el9_0, kernel-debug-devel-matched-5.14.0-70.146.1.el9_0, kernel-devel-5.14.0-70.146.1.el9_0 +5
- Red Hat Enterprise Linux BaseOS E4S (v.9.0) bpftool-5.14.0-70.146.1.el9_0, kernel-5.14.0-70.146.1.el9_0, kernel-abi-stablelists-5.14.0-70.146.1.el9_0 +14
- RHSA-2025:15669 Released 2025-09-11 · Red Hat rating Importantkernel security update
- Red Hat Enterprise Linux AppStream E4S (v.9.2) kernel-64k-debug-devel-5.14.0-284.137.1.el9_2, kernel-64k-debug-devel-matched-5.14.0-284.137.1.el9_2, kernel-64k-devel-5.14.0-284.137.1.el9_2 +9
- Red Hat Enterprise Linux BaseOS E4S (v.9.2) bpftool-7.0.0-284.137.1.el9_2, kernel-5.14.0-284.137.1.el9_2, kernel-64k-5.14.0-284.137.1.el9_2 +29
- RHSA-2025:15658 Released 2025-09-10 · Red Hat rating Importantkernel-rt security update
- Red Hat Enterprise Linux NFV E4S (v.9.0) kernel-rt-5.14.0-70.146.1.rt21.218.el9_0, kernel-rt-core-5.14.0-70.146.1.rt21.218.el9_0, kernel-rt-debug-5.14.0-70.146.1.rt21.218.el9_0 +9
- Red Hat Enterprise Linux Real Time E4S (v.9.0) kernel-rt-5.14.0-70.146.1.rt21.218.el9_0, kernel-rt-core-5.14.0-70.146.1.rt21.218.el9_0, kernel-rt-debug-5.14.0-70.146.1.rt21.218.el9_0 +7
- RHSA-2025:15657 Released 2025-09-10 · Red Hat rating Importantkernel-rt security update
- Red Hat Enterprise Linux Real Time E4S (v.9.2) kernel-rt-5.14.0-284.137.1.rt14.422.el9_2, kernel-rt-core-5.14.0-284.137.1.rt14.422.el9_2, kernel-rt-debug-5.14.0-284.137.1.rt14.422.el9_2 +8
- Red Hat Enterprise Linux Real Time for NFV E4S (v.9.2) kernel-rt-5.14.0-284.137.1.rt14.422.el9_2, kernel-rt-core-5.14.0-284.137.1.rt14.422.el9_2, kernel-rt-debug-5.14.0-284.137.1.rt14.422.el9_2 +10
- RHSA-2025:15656 Released 2025-09-10 · Red Hat rating Importantkernel security update
- Red Hat Enterprise Linux BaseOS AUS (v. 8.2) bpftool-4.18.0-193.168.1.el8_2, kernel-4.18.0-193.168.1.el8_2, kernel-abi-whitelists-4.18.0-193.168.1.el8_2 +13
- RHSA-2025:15005 Released 2025-09-02 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux AppStream (v. 10) kernel-64k-debug-devel-6.12.0-55.30.1.el10_0, kernel-64k-debug-devel-matched-6.12.0-55.30.1.el10_0, kernel-64k-devel-6.12.0-55.30.1.el10_0 +12
- Red Hat Enterprise Linux BaseOS (v. 10) kernel-6.12.0-55.30.1.el10_0, kernel-64k-6.12.0-55.30.1.el10_0, kernel-64k-core-6.12.0-55.30.1.el10_0 +28
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) kernel-tools-libs-devel-6.12.0-55.30.1.el10_0, libperf-6.12.0-55.30.1.el10_0
- Red Hat Enterprise Linux Real Time (v. 10) kernel-rt-6.12.0-55.30.1.el10_0, kernel-rt-64k-6.12.0-55.30.1.el10_0, kernel-rt-64k-core-6.12.0-55.30.1.el10_0 +21
- Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt-6.12.0-55.30.1.el10_0, kernel-rt-core-6.12.0-55.30.1.el10_0, kernel-rt-debug-6.12.0-55.30.1.el10_0 +11
- RHSA-2025:14438 Released 2025-08-25 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-553.71.1.el8_10, kernel-4.18.0-553.71.1.el8_10, kernel-abi-stablelists-4.18.0-553.71.1.el8_10 +19
- Red Hat Enterprise Linux CRB (v. 8) kernel-tools-libs-devel-4.18.0-553.71.1.el8_10
- RHSA-2025:14439 Released 2025-08-25 · Red Hat rating Moderatekernel-rt security update
- Red Hat Enterprise Linux NFV (v. 8) kernel-rt-4.18.0-553.71.1.rt7.412.el8_10, kernel-rt-core-4.18.0-553.71.1.rt7.412.el8_10, kernel-rt-debug-4.18.0-553.71.1.rt7.412.el8_10 +9
- Red Hat Enterprise Linux RT (v. 8) kernel-rt-4.18.0-553.71.1.rt7.412.el8_10, kernel-rt-core-4.18.0-553.71.1.rt7.412.el8_10, kernel-rt-debug-4.18.0-553.71.1.rt7.412.el8_10 +7
- RHSA-2025:14420 Released 2025-08-25 · Red Hat rating Importantkernel security update
- Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-570.37.1.el9_6, kernel-64k-debug-devel-matched-5.14.0-570.37.1.el9_6, kernel-64k-devel-5.14.0-570.37.1.el9_6 +12
- Red Hat Enterprise Linux BaseOS (v. 9) kernel-5.14.0-570.37.1.el9_6, kernel-64k-5.14.0-570.37.1.el9_6, kernel-64k-core-5.14.0-570.37.1.el9_6 +28
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) kernel-tools-libs-devel-5.14.0-570.37.1.el9_6, libperf-5.14.0-570.37.1.el9_6
- Red Hat Enterprise Linux Real Time (v. 9) kernel-rt-5.14.0-570.37.1.el9_6, kernel-rt-64k-5.14.0-570.37.1.el9_6, kernel-rt-64k-core-5.14.0-570.37.1.el9_6 +21
- Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt-5.14.0-570.37.1.el9_6, kernel-rt-core-5.14.0-570.37.1.el9_6, kernel-rt-debug-5.14.0-570.37.1.el9_6 +11
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 9 | Affected | No fix yet |
| Red Hat CodeReady Linux Builder EUS (v.9.4) | Fixed | RHSA-2025:16669 |
| Red Hat Enterprise Linux AppStream (v. 10) | Fixed | RHSA-2025:15005 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2025:14420 |
| Red Hat Enterprise Linux AppStream E4S (v.9.0) | Fixed | RHSA-2025:15670 |
| Red Hat Enterprise Linux AppStream E4S (v.9.2) | Fixed | RHSA-2025:15669 |
| Red Hat Enterprise Linux AppStream EUS (v.9.4) | Fixed | RHSA-2025:16669 |
| Red Hat Enterprise Linux BaseOS (v. 10) | Fixed | RHSA-2025:15005 |
| Red Hat Enterprise Linux BaseOS (v. 8) | Fixed | RHSA-2025:14438 |
| Red Hat Enterprise Linux BaseOS (v. 9) | Fixed | RHSA-2025:14420 |
| Red Hat Enterprise Linux BaseOS AUS (v. 8.2) | Fixed | RHSA-2025:15656 |
| Red Hat Enterprise Linux BaseOS AUS (v.8.4) | Fixed | RHSA-2025:22752 |
| Red Hat Enterprise Linux BaseOS AUS (v.8.6) | Fixed | RHSA-2025:17124 |
| Red Hat Enterprise Linux BaseOS E4S (v.8.6) | Fixed | RHSA-2025:17124 |
| Red Hat Enterprise Linux BaseOS E4S (v.8.8) | Fixed | RHSA-2025:17009 |
| Red Hat Enterprise Linux BaseOS E4S (v.9.0) | Fixed | RHSA-2025:15670 |
| Red Hat Enterprise Linux BaseOS E4S (v.9.2) | Fixed | RHSA-2025:15669 |
| Red Hat Enterprise Linux BaseOS EUS (v.9.4) | Fixed | RHSA-2025:16669 |
| Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4) | Fixed | RHSA-2025:22752 |
| Red Hat Enterprise Linux BaseOS TUS (v.8.6) | Fixed | RHSA-2025:17124 |
| Red Hat Enterprise Linux BaseOS TUS (v.8.8) | Fixed | RHSA-2025:17009 |
| Red Hat Enterprise Linux CRB (v. 8) | Fixed | RHSA-2025:14438 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) | Fixed | RHSA-2025:15005 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) | Fixed | RHSA-2025:14420 |
| Red Hat Enterprise Linux NFV (v. 8) | Fixed | RHSA-2025:14439 |
| Red Hat Enterprise Linux NFV E4S (v.9.0) | Fixed | RHSA-2025:15658 |
| Red Hat Enterprise Linux RT (v. 8) | Fixed | RHSA-2025:14439 |
| Red Hat Enterprise Linux Real Time (v. 10) | Fixed | RHSA-2025:15005 |
| Red Hat Enterprise Linux Real Time (v. 9) | Fixed | RHSA-2025:14420 |
| Red Hat Enterprise Linux Real Time E4S (v.9.0) | Fixed | RHSA-2025:15658 |
| Red Hat Enterprise Linux Real Time E4S (v.9.2) | Fixed | RHSA-2025:15657 |
| Red Hat Enterprise Linux Real Time EUS (v.9.4) | Fixed | RHSA-2025:16669 |
| Red Hat Enterprise Linux Real Time for NFV (v. 10) | Fixed | RHSA-2025:15005 |
| Red Hat Enterprise Linux Real Time for NFV (v. 9) | Fixed | RHSA-2025:14420 |
| Red Hat Enterprise Linux Real Time for NFV E4S (v.9.2) | Fixed | RHSA-2025:15657 |
| Red Hat Enterprise Linux Real Time for NFV EUS (v.9.4) | Fixed | RHSA-2025:16669 |
Not affected: 7 products
- Red Hat Enterprise Linux AppStream E4S (v.9.0)
- Red Hat Enterprise Linux AppStream E4S (v.9.2)
- Red Hat Enterprise Linux BaseOS AUS (v. 8.2)
- Red Hat Enterprise Linux NFV E4S (v.9.0)
- Red Hat Enterprise Linux Real Time E4S (v.9.0)
- Red Hat Enterprise Linux Real Time E4S (v.9.2)
- Red Hat Enterprise Linux Real Time for NFV E4S (v.9.2)
Timeline
- 2026-10-02 Threatist record created from CVE-2025-22058
- 2026-10-03 Alias added: GHSA-qh2m-xfgm-crh8
References
Patch 9
- https://git.kernel.org/stable/c/13550273171f5108b1ac572d8f72f4256ab92854
- https://git.kernel.org/stable/c/d9c8266ce536e8314d84370e983afcaa36fb19cf
- https://git.kernel.org/stable/c/c3ad8c30b6b109283d2643e925f8e65f2e7ab34e
- https://git.kernel.org/stable/c/9122fec396950cc866137af7154b1d0d989be52e
- https://git.kernel.org/stable/c/aeef6456692c6f11ae53d278df64f1316a2a405a
- https://git.kernel.org/stable/c/a116b271bf3cb72c8155b6b7f39083c1b80dcd00
- https://git.kernel.org/stable/c/c4bac6c398118fba79e32b1cd01db22dbfe29fbf
- https://git.kernel.org/stable/c/3836029448e76c1e6f77cc5fe0adc09b018b5fa8
- https://git.kernel.org/stable/c/df207de9d9e7a4d92f8567e2c539d9c8c12fd99d
More Linux Kernel vulnerabilities
- 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
Sources
- CVE-2025-22058 · CVE Program
- CVE-2025-22058 · NVD
- FIRST EPSS
- GHSA-qh2m-xfgm-crh8 · GitHub Advisory Database · CC BY 4.0
- CVE-2025-22058 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences