Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Lifecycle Timeline
3DescriptionCVE.org
When a challenge ACK is to be sent tcp_respond() constructs and sends the challenge ACK and consumes the mbuf that is passed in. When no challenge ACK should be sent the function returns and leaks the mbuf.
If an attacker is either on path with an established TCP connection, or can themselves establish a TCP connection, to an affected FreeBSD machine, they can easily craft and send packets which meet the challenge ACK criteria and cause the FreeBSD host to leak an mbuf for each crafted packet in excess of the configured rate limit settings i.e. with default settings, crafted packets in excess of the first 5 sent within a 1s period will leak an mbuf.
Technically, off-path attackers can also exploit this problem by guessing the IP addresses, TCP port numbers and in some cases the sequence numbers of established connections and spoofing packets towards a FreeBSD machine, but this is harder to do effectively.
AnalysisAI
This vulnerability is a memory leak in FreeBSD's TCP stack where the tcp_respond() function fails to properly free allocated memory buffers (mbufs) when challenge ACKs are not sent in response to crafted packets. FreeBSD systems of all versions are affected. An attacker with network access (either on-path with an established connection or able to establish one, or via spoofed packets) can trigger this leak repeatedly by sending specially crafted packets that exceed rate limits, causing heap exhaustion and potential denial of service through resource depletion.
Technical ContextAI
This vulnerability exists in the FreeBSD kernel's TCP/IP network stack, specifically in the tcp_respond() function which handles challenge ACK generation. Challenge ACKs are legitimate TCP responses used to verify connection state in edge cases. The root cause is classified under CWE-401 (Missing Release of Memory after Effective Lifetime), a classic resource management flaw. When the function constructs a challenge ACK, it properly consumes the input mbuf (kernel memory buffer). However, when the function determines that no challenge ACK should be sent (due to rate limiting or other conditions), it returns without deallocating the mbuf, causing a memory leak. Each leak is small, but repeated exploitation exhausts kernel memory resources. The affected product is FreeBSD across all versions (cpe:2.3:a:freebsd:freebsd:*:*:*:*:*:*:*:*), indicating this is a long-standing issue in the core TCP implementation.
RemediationAI
Apply the security patch provided by FreeBSD in advisory FreeBSD-SA-26:06.tcp.asc immediately (https://security.freebsd.org/advisories/FreeBSD-SA-26:06.tcp.asc). The patch corrects the tcp_respond() function to properly deallocate mbufs in all code paths. For systems unable to patch immediately, network-level mitigation can be implemented by restricting TCP traffic from untrusted sources using firewalls or access control lists, though this does not eliminate the vulnerability for on-path or spoofed traffic scenarios. Additionally, increasing kernel memory buffers and monitoring for signs of memory exhaustion (e.g., mbuf pool depletion warnings in system logs) can provide temporary resilience but should not be relied upon as a permanent workaround. Prioritize patching over compensating controls.
The x86-64 kernel system-call functionality in Xen 4.1.2 and earlier, as used in Citrix XenServer 6.0.2 and earlier and
The rtsol(8) and rtsold(8) programs do not validate the domain search list options provided in router advertisement mess
The RFC 5011 implementation in rdata.c in ISC BIND 9.7.x and 9.8.x before 9.8.5-P2, 9.8.6b1, 9.9.x before 9.9.3-P2, and
Remote code execution in OpenSSH's sshd server (regression of CVE-2006-5051) allows unauthenticated remote attackers to
The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot
The vm_map_lookup function in sys/vm/vm_map.c in the mmap implementation in the kernel in FreeBSD 9.0 through 9.1-RELEAS
Integer overflow in the _gd2GetHeader function in gd_gd2.c in the GD Graphics Library (aka libgd) before 2.2.3, as used
The Stream Control Transmission Protocol (SCTP) module in FreeBSD 9.3 before p33, 10.1 before p26, and 10.2 before p9, w
In FreeBSD 12.1-STABLE before r359565, 12.1-RELEASE before p7, 11.4-STABLE before r362975, 11.4-RELEASE before p1, and 1
A statement in the System Programming Guide of the Intel 64 and IA-32 Architectures Software Developer's Manual (SDM) wa
The SCTP implementation in FreeBSD 8.2 allows remote attackers to cause a denial of service (NULL pointer dereference an
NFS in a BSD derived codebase, as used in OpenBSD through 7.4 and FreeBSD through 14.0-RELEASE, allows remote attackers
Same weakness CWE-401 – Memory Leak
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-16128