Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-21710— tcp: correct handling of extreme memory squeeze

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于tcp在极端内存压力下窗口广告处理不正确。

CVSS 8.2 · High EPSS 0.27% · P19

Possible ATT&CK Techniques 1 AI

T1496 · Resource Hijacking

Affected Version Matrix 10

VendorProduct Version RangeStatus
Linux Linux e2142825c120d4317abf7160a0fc34b3de532586< b01e7ceb35dcb7ffad413da657b78c3340a09039 affected
e2142825c120d4317abf7160a0fc34b3de532586< 1dd823a46e25ffde1492c391934f69a9e5eb574f affected
e2142825c120d4317abf7160a0fc34b3de532586< b4055e2fe96f4ef101d8af0feb056d78d77514ff affected
e2142825c120d4317abf7160a0fc34b3de532586< 8c670bdfa58e48abad1d5b6ca1ee843ca91f7303 affected
6.6 affected
< 6.6 unaffected
6.6.76≤ 6.6.* unaffected
6.12.13≤ 6.12.* unaffected
… +2 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-21710

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
tcp: correct handling of extreme memory squeeze
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: tcp: correct handling of extreme memory squeeze Testing with iperf3 using the "pasta" protocol splicer has revealed a problem in the way tcp handles window advertising in extreme memory squeeze situations. Under memory pressure, a socket endpoint may temporarily advertise a zero-sized window, but this is not stored as part of the socket data. The reasoning behind this is that it is considered a temporary setting which shouldn't influence any further calculations. However, if we happen to stall at an unfortunate value of the current window size, the algorithm selecting a new value will consistently fail to advertise a non-zero window once we have freed up enough memory. This means that this side's notion of the current window size is different from the one last advertised to the peer, causing the latter to not send any data to resolve the sitution. The problem occurs on the iperf3 server side, and the socket in question is a completely regular socket with the default settings for the fedora40 kernel. We do not use SO_PEEK or SO_RCVBUF on the socket. The following excerpt of a logging session, with own comments added, shows more in detail what is happening: // tcp_v4_rcv(->) // tcp_rcv_established(->) [5201<->39222]: ==== Activating log @ net/ipv4/tcp_input.c/tcp_data_queue()/5257 ==== [5201<->39222]: tcp_data_queue(->) [5201<->39222]: DROPPING skb [265600160..265665640], reason: SKB_DROP_REASON_PROTO_MEM [rcv_nxt 265600160, rcv_wnd 262144, snt_ack 265469200, win_now 131184] [copied_seq 259909392->260034360 (124968), unread 5565800, qlen 85, ofoq 0] [OFO queue: gap: 65480, len: 0] [5201<->39222]: tcp_data_queue(<-) [5201<->39222]: __tcp_transmit_skb(->) [tp->rcv_wup: 265469200, tp->rcv_wnd: 262144, tp->rcv_nxt 265600160] [5201<->39222]: tcp_select_window(->) [5201<->39222]: (inet_csk(sk)->icsk_ack.pending & ICSK_ACK_NOMEM) ? --> TRUE [tp->rcv_wup: 265469200, tp->rcv_wnd: 262144, tp->rcv_nxt 265600160] returning 0 [5201<->39222]: tcp_select_window(<-) [5201<->39222]: ADVERTISING WIN 0, ACK_SEQ: 265600160 [5201<->39222]: [__tcp_transmit_skb(<-) [5201<->39222]: tcp_rcv_established(<-) [5201<->39222]: tcp_v4_rcv(<-) // Receive queue is at 85 buffers and we are out of memory. // We drop the incoming buffer, although it is in sequence, and decide // to send an advertisement with a window of zero. // We don't update tp->rcv_wnd and tp->rcv_wup accordingly, which means // we unconditionally shrink the window. [5201<->39222]: tcp_recvmsg_locked(->) [5201<->39222]: __tcp_cleanup_rbuf(->) tp->rcv_wup: 265469200, tp->rcv_wnd: 262144, tp->rcv_nxt 265600160 [5201<->39222]: [new_win = 0, win_now = 131184, 2 * win_now = 262368] [5201<->39222]: [new_win >= (2 * win_now) ? --> time_to_ack = 0] [5201<->39222]: NOT calling tcp_send_ack() [tp->rcv_wup: 265469200, tp->rcv_wnd: 262144, tp->rcv_nxt 265600160] [5201<->39222]: __tcp_cleanup_rbuf(<-) [rcv_nxt 265600160, rcv_wnd 262144, snt_ack 265469200, win_now 131184] [copied_seq 260040464->260040464 (0), unread 5559696, qlen 85, ofoq 0] returning 6104 bytes [5201<->39222]: tcp_recvmsg_locked(<-) // After each read, the algorithm for calculating the new receive // window in __tcp_cleanup_rbuf() finds it is too small to advertise // or to update tp->rcv_wnd. // Meanwhile, the peer thinks the window is zero, and will not send // any more data to trigger an update from the interrupt mode side. [5201<->39222]: tcp_recvmsg_locked(->) [5201<->39222]: __tcp_cleanup_rbuf(->) tp->rcv_wup: 265469200, tp->rcv_wnd: 262144, tp->rcv_nxt 265600160 [5201<->39222]: [new_win = 262144, win_now = 131184, 2 * win_n ---truncated---
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于tcp在极端内存压力下窗口广告处理不正确。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux e2142825c120d4317abf7160a0fc34b3de532586 ~ b01e7ceb35dcb7ffad413da657b78c3340a09039 -
Linux Linux 6.6 -

II. Public POCs for CVE-2025-21710

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-21710

请登录查看更多情报信息。

Patches & Fixes for CVE-2025-21710 (4)

Same Patch Batch · Linux · 2025-02-27 · 177 CVEs total

CVE-2025-21748 9.8 CRITICAL ksmbd: fix integer overflows on 32 bit systems
CVE-2025-21796 9.8 CRITICAL nfsd: clear acl_access/acl_default after releasing them
CVE-2025-21707 9.8 CRITICAL mptcp: consolidate suboption status
CVE-2025-21805 9.8 CRITICAL RDMA/rtrs: Add missing deinit() call
CVE-2024-58006 9.6 CRITICAL PCI: dwc: ep: Prevent changing BAR size/flags in pci_epc_set_bar()
CVE-2024-57999 8.8 HIGH powerpc/pseries/iommu: IOMMU incorrectly marks MMIO range in DDW
CVE-2024-57997 8.8 HIGH wifi: wcn36xx: fix channel survey memory allocation size
CVE-2024-57995 8.8 HIGH wifi: ath12k: fix read pointer after free in ath12k_mac_assign_vif_to_vdev()
CVE-2025-21735 8.8 HIGH NFC: nci: Add bounds checking in nci_hci_create_pipe()
CVE-2024-57973 8.1 HIGH rdma/cxgb4: Prevent potential integer overflow on 32bit
CVE-2025-21760 8.1 HIGH ndisc: extend RCU protection in ndisc_send_skb()
CVE-2025-21762 8.1 HIGH arp: use RCU protection in arp_xmit()
CVE-2025-21765 8.1 HIGH ipv6: use RCU protection in ip6_default_advmss()
CVE-2025-21766 8.1 HIGH ipv4: use RCU protection in __ip_rt_update_pmtu()
CVE-2024-58034 7.8 HIGH memory: tegra20-emc: fix an OF node reference bug in tegra_emc_find_node_by_ram_code()
CVE-2025-21722 7.8 HIGH nilfs2: do not force clear folio if buffer is referenced
CVE-2024-58003 7.8 HIGH media: i2c: ds90ub9x3: Fix extra fwnode_handle_put()
CVE-2025-21801 7.8 HIGH net: ravb: Fix missing rtnl lock in suspend/resume path
CVE-2025-21729 7.8 HIGH wifi: rtw89: fix race between cancel_hw_scan and hw_scan completion
CVE-2024-54458 7.8 HIGH scsi: ufs: bsg: Set bsg_queue to NULL after removal

Showing top 20 of 177 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-21710

No comments yet


Leave a comment