Read the docs
TI-2023-29202 Aliases CVE-2023-52881

tcp: do not accept ACK of bytes we never sent

Priority MEDIUM 43Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Partial Red Hat: 19 fixed, 3 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.

Summary

In the Linux kernel, the following vulnerability has been resolved: tcp: do not accept ACK of bytes we never sent This patch is based on a detailed report and ideas from Yepeng Pan and Christian Rossow. ACK seq validation is currently following RFC 5961 5.2 guidelines: The ACK value is considered acceptable only if it is in the range of ((SND.UNA - MAX.SND.WND) <= SEG.ACK <= SND.NXT). All incoming segments whose ACK value doesn't satisfy the above condition MUST be discarded and an ACK sent back. It needs to be noted that RFC 793 on page 72 (fifth check) says: "If the ACK is a duplicate (SEG.ACK < SND.UNA), it can be ignored. If the ACK acknowledges something not yet sent (SEG.ACK > SND.NXT) then send an ACK, drop the segment, and return". The "ignored" above implies that the processing of the incoming data segment continues, which means the ACK value is treated as acceptable. This mitigation makes the ACK check more stringent since any ACK < SND.UNA wouldn't be accepted, instead only ACKs that are in the range ((SND.UNA - MAX.SND.WND) <= SEG.ACK <= SND.NXT) get through. This can be refined for new (and possibly spoofed) flows, by not accepting ACK for bytes that were never sent. This greatly improves TCP security at a little cost. I added a Fixes: tag to make sure this patch will reach stable trees, even if the 'blamed' patch was adhering to the RFC. tp->bytes_acked was added in linux-4.2 Following packetdrill test (courtesy of Yepeng Pan) shows the issue at hand: 0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 +0 bind(3, ..., ...) = 0 +0 listen(3, 1024) = 0 // ---------------- Handshake ------------------- // // when window scale is set to 14 the window size can be extended to // 65535 * (2^14) = 1073725440. Linux would accept an ACK packet // with ack number in (Server_ISN+1-1073725440. Server_ISN+1) // ,though this ack number acknowledges some data never // sent by the server. +0 < S 0:0(0) win 65535 <mss 1400,nop,wscale 14> +0 > S. 0:0(0) ack 1 <...> +0 < . 1:1(0) ack 1 win 65535 +0 accept(3, ..., ...) = 4 // For the established connection, we send an ACK packet, // the ack packet uses ack number 1 - 1073725300 + 2^32, // where 2^32 is used to wrap around. // Note: we used 1073725300 instead of 1073725440 to avoid possible // edge cases. // 1 - 1073725300 + 2^32 = 3221241997 // Oops, old kernels happily accept this packet. +0 < . 1:1001(1000) ack 3221241997 win 65535 // After the kernel fix the following will be replaced by a challenge ACK, // and prior malicious frame would be dropped. +0 > . 1:1(0) ack 1001

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00611 49th percentileScored 2026-11-07
Fix Partial Linux (Linux): 3.1, 3.3, 3.5 +8Red Hat: 7 advisoriesRed Hat: 19 fixed, 3 without a fix

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
LinuxLinux3.0.58 to before 3.1; 3.2.37 to before 3.3; 3.4.25 to before 3.53.1, 3.3, 3.5Patch availableCNA
LinuxLinux3.8 and later4.14.333, 4.19.302, 5.4.264, 5.10.204, 5.15.143, 6.1.68, 6.6.7, 6.7Patch availableCNA
  • Linux VendorLinux Affected 3.0.58 to before 3.1; 3.2.37 to before 3.3; 3.4.25 to before 3.5 Fixed in 3.1, 3.3, 3.5 Patch available CNA
  • Linux VendorLinux Affected 3.8 and later Fixed in 4.14.333, 4.19.302, 5.4.264, 5.10.204, 5.15.143, 6.1.68, 6.6.7, 6.7 Patch available CNA

CPE configurations NVD · 5

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*3.0.58 to before 3.1; 3.2.37 to before 3.3; 3.4.25 to before 3.5; 3.8 to before 4.14.333; 4.15 to before 4.19.302; 4.20 to before 5.4.264; 5.5 to before 5.10.204; 5.11 to before 5.15.143; 5.16 to before 6.1.68; 6.2 to before 6.6.7VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.7:rc1:*:*:*:*:*:*6.7 rc1VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.7:rc2:*:*:*:*:*:*6.7 rc2VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.7:rc3:*:*:*:*:*:*6.7 rc3VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.7:rc4:*:*:*:*:*:*6.7 rc4VulnerableLinux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 3.0.58 to before 3.1; 3.2.37 to before 3.3; 3.4.25 to before 3.5; 3.8 to before 4.14.333; 4.15 to before 4.19.302; 4.20 to before 5.4.264; 5.5 to before 5.10.204; 5.11 to before 5.15.143; 5.16 to before 6.1.68; 6.2 to before 6.6.7 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.7:rc1:*:*:*:*:*:* Versions 6.7 rc1 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.7:rc2:*:*:*:*:*:* Versions 6.7 rc2 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.7:rc3:*:*:*:*:*:* Versions 6.7 rc3 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.7:rc4:*:*:*:*:*:* Versions 6.7 rc4 Vulnerable ·Linux

Remediation

  • Fix · CNA Linux (Linux) Fixed in 3.1, 3.3, 3.5
  • Fix · CNA Linux (Linux) Fixed in 4.14.333, 4.19.302, 5.4.264, 5.10.204, 5.15.143, 6.1.68, 6.6.7, 6.7

Red Hat 7 advisories

  • RHSA-2024:10772 Released 2024-12-04 · Red Hat rating Moderate
    kernel security update
    • Red Hat CodeReady Linux Builder EUS (v.9.2) kernel-tools-libs-devel-5.14.0-284.95.1.el9_2
    • Red Hat Enterprise Linux AppStream EUS (v.9.2) kernel-64k-debug-devel-5.14.0-284.95.1.el9_2, kernel-64k-debug-devel-matched-5.14.0-284.95.1.el9_2, kernel-64k-devel-5.14.0-284.95.1.el9_2 +10
    • Red Hat Enterprise Linux BaseOS EUS (v.9.2) bpftool-7.0.0-284.95.1.el9_2, kernel-5.14.0-284.95.1.el9_2, kernel-64k-5.14.0-284.95.1.el9_2 +29
  • RHSA-2024:10773 Released 2024-12-04 · Red Hat rating Moderate
    kernel-rt security update
    • Red Hat Enterprise Linux Real Time EUS (v.9.2) kernel-rt-5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-core-5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-debug-5.14.0-284.95.1.rt14.380.el9_2 +9
    • Red Hat Enterprise Linux Real Time for NFV EUS (v.9.2) kernel-rt-5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-core-5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-debug-5.14.0-284.95.1.rt14.380.el9_2 +11
  • RHSA-2024:6206 Released 2024-09-03 · Red Hat rating Important
    kernel security update
    • Red Hat CodeReady Linux Builder EUS (v.8.8) kernel-tools-libs-devel-4.18.0-477.70.1.el8_8
    • Red Hat Enterprise Linux BaseOS EUS (v.8.8) bpftool-4.18.0-477.70.1.el8_8, kernel-4.18.0-477.70.1.el8_8, kernel-abi-stablelists-4.18.0-477.70.1.el8_8 +19
Show 4 more Red Hat advisories
  • RHSA-2024:5281 Released 2024-08-13 · Red Hat rating Important
    kernel security update
    • Red Hat Enterprise Linux BaseOS AUS (v.8.6) bpftool-4.18.0-372.118.1.el8_6, kernel-4.18.0-372.118.1.el8_6, kernel-abi-stablelists-4.18.0-372.118.1.el8_6 +14
    • Red Hat Enterprise Linux BaseOS E4S (v.8.6) bpftool-4.18.0-372.118.1.el8_6, kernel-4.18.0-372.118.1.el8_6, kernel-abi-stablelists-4.18.0-372.118.1.el8_6 +19
    • Red Hat Enterprise Linux BaseOS TUS (v.8.6) bpftool-4.18.0-372.118.1.el8_6, kernel-4.18.0-372.118.1.el8_6, kernel-abi-stablelists-4.18.0-372.118.1.el8_6 +14
  • RHSA-2024:4352 Released 2024-07-08 · Red Hat rating Important
    kernel-rt security and bug fix update
    • Red Hat Enterprise Linux NFV (v. 8) kernel-rt-4.18.0-553.8.1.rt7.349.el8_10, kernel-rt-core-4.18.0-553.8.1.rt7.349.el8_10, kernel-rt-debug-4.18.0-553.8.1.rt7.349.el8_10 +9
    • Red Hat Enterprise Linux RT (v. 8) kernel-rt-4.18.0-553.8.1.rt7.349.el8_10, kernel-rt-core-4.18.0-553.8.1.rt7.349.el8_10, kernel-rt-debug-4.18.0-553.8.1.rt7.349.el8_10 +7
  • RHSA-2024:4211 Released 2024-07-02 · Red Hat rating Important
    kernel security and bug fix update
    • Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-553.8.1.el8_10, kernel-4.18.0-553.8.1.el8_10, kernel-abi-stablelists-4.18.0-553.8.1.el8_10 +19
    • Red Hat Enterprise Linux CRB (v. 8) kernel-tools-libs-devel-4.18.0-553.8.1.el8_10
  • RHSA-2024:2394 Released 2024-04-30 · Red Hat rating Important
    kernel security, bug fix, and enhancement update
    • Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-427.13.1.el9_4, kernel-64k-debug-devel-matched-5.14.0-427.13.1.el9_4, kernel-64k-devel-5.14.0-427.13.1.el9_4 +11
    • Red Hat Enterprise Linux BaseOS (v. 9) bpftool-7.3.0-427.13.1.el9_4, kernel-5.14.0-427.13.1.el9_4, kernel-64k-5.14.0-427.13.1.el9_4 +29
    • Red Hat Enterprise Linux CRB (v. 9) kernel-tools-libs-devel-5.14.0-427.13.1.el9_4, libperf-5.14.0-427.13.1.el9_4
    • Red Hat Enterprise Linux NFV (v. 9) kernel-rt-5.14.0-427.13.1.el9_4, kernel-rt-core-5.14.0-427.13.1.el9_4, kernel-rt-debug-5.14.0-427.13.1.el9_4 +11
    • Red Hat Enterprise Linux RT (v. 9) kernel-rt-5.14.0-427.13.1.el9_4, kernel-rt-core-5.14.0-427.13.1.el9_4, kernel-rt-debug-5.14.0-427.13.1.el9_4 +9

Vendor assessments

Red Hat

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

ProductStatusPlan or fix
Red Hat Enterprise Linux 6AffectedNo fix planned: Out of support scope
Red Hat Enterprise Linux 7AffectedNo fix planned: Out of support scope
Red Hat Enterprise Linux 9AffectedNo fix yet
Red Hat CodeReady Linux Builder EUS (v.8.8)Fixed RHSA-2024:6206
Red Hat CodeReady Linux Builder EUS (v.9.2)Fixed RHSA-2024:10772
Red Hat Enterprise Linux AppStream (v. 9)Fixed RHSA-2024:2394
Red Hat Enterprise Linux AppStream EUS (v.9.2)Fixed RHSA-2024:10772
Red Hat Enterprise Linux BaseOS (v. 8)Fixed RHSA-2024:4211
Red Hat Enterprise Linux BaseOS (v. 9)Fixed RHSA-2024:2394
Red Hat Enterprise Linux BaseOS AUS (v.8.6)Fixed RHSA-2024:5281
Red Hat Enterprise Linux BaseOS E4S (v.8.6)Fixed RHSA-2024:5281
Red Hat Enterprise Linux BaseOS EUS (v.8.8)Fixed RHSA-2024:6206
Red Hat Enterprise Linux BaseOS EUS (v.9.2)Fixed RHSA-2024:10772
Red Hat Enterprise Linux BaseOS TUS (v.8.6)Fixed RHSA-2024:5281
Red Hat Enterprise Linux CRB (v. 8)Fixed RHSA-2024:4211
Red Hat Enterprise Linux CRB (v. 9)Fixed RHSA-2024:2394
Red Hat Enterprise Linux NFV (v. 8)Fixed RHSA-2024:4352
Red Hat Enterprise Linux NFV (v. 9)Fixed RHSA-2024:2394
Red Hat Enterprise Linux RT (v. 8)Fixed RHSA-2024:4352
Red Hat Enterprise Linux RT (v. 9)Fixed RHSA-2024:2394
Red Hat Enterprise Linux Real Time EUS (v.9.2)Fixed RHSA-2024:10773
Red Hat Enterprise Linux Real Time for NFV EUS (v.9.2)Fixed RHSA-2024:10773
Not affected: 5 products
  • Red Hat Enterprise Linux AppStream EUS (v.9.2)
  • Red Hat Enterprise Linux BaseOS (v. 8)
  • Red Hat Enterprise Linux BaseOS AUS (v.8.6)
  • Red Hat Enterprise Linux BaseOS E4S (v.8.6)
  • Red Hat Enterprise Linux BaseOS TUS (v.8.6)

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-52881
  2. 2026-10-29 Affected versions changed · Red Hat

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