CyberSecBulletin
CVE-2026-64024NVD status: Analyzed

Linux: Missing Release of Memory after Effective Lifetime

CVE-2026-64024 is a critical-severity missing release of memory after effective lifetime vulnerability in Linux, with a CVSS 3.1 base score of 9.4 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. The record lists versions 8bb6aa419b142dcc2680177ecc39c4c38db7fc16, e47f7060eaf60894e3e4d0e3c4fe6e1f2eacfbdd, 4affe063fa56c880cbea8d0bfded0bb80751579d as the first without the flaw, so updating Linux to one of those releases or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.31% chance of exploitation within 30 days, which is low compared with other CVEs.

Patch this week

Critical severity: a successful attack would have severe impact.

What to do

  1. Update Linux to 8bb6aa419b142dcc2680177ecc39c4c38db7fc16 or e47f7060eaf60894e3e4d0e3c4fe6e1f2eacfbdd or 4affe063fa56c880cbea8d0bfded0bb80751579d or 1bbf0ced1d9db73ac7893c2187f3459288603e0d, whichever matches your release line, or a later version.
  2. Update Linux Kernel to 6.12.114 or 6.18.34 or 7.0.11, whichever matches your release line, or a later version.
  3. Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.

Affected products and versions

VendorProductAffected versionsFixed in
LinuxLinux41eecbd712b73f0d5dcf1152b9a1c27b1f238028 up to, but not including, 8bb6aa419b142dcc2680177ecc39c4c38db7fc16; 41eecbd712b73f0d5dcf1152b9a1c27b1f238028 up to, but not including, e47f7060eaf60894e3e4d0e3c4fe6e1f2eacfbdd; 41eecbd712b73f0d5dcf1152b9a1c27b1f238028 up to, but not including, 4affe063fa56c880cbea8d0bfded0bb80751579d; 41eecbd712b73f0d5dcf1152b9a1c27b1f238028 up to, but not including, 1bbf0ced1d9db73ac7893c2187f3459288603e0d; 6.108bb6aa419b142dcc2680177ecc39c4c38db7fc16, e47f7060eaf60894e3e4d0e3c4fe6e1f2eacfbdd, 4affe063fa56c880cbea8d0bfded0bb80751579d, 1bbf0ced1d9db73ac7893c2187f3459288603e0d
LinuxLinux Kernel6.10 up to, but not including, 6.12.114; 6.13 up to, but not including, 6.18.34; 6.19 up to, but not including, 7.0.11; 7.16.12.114, 6.18.34, 7.0.11

Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.

How the severity score breaks down

Attack vector
NetworkCan be exploited remotely over a network, including the internet.
Attack complexity
LowNo special conditions are needed; the attack works reliably.
Privileges required
NoneNo account or login is needed.
User interaction
NoneNo action by a victim is required.
Scope
UnchangedImpact stays within the vulnerable component.
Confidentiality
LowSome restricted data can be read.
Integrity
HighData or code can be modified at will.
Availability
HighThe component can be taken down completely.

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H. Scored by CNA.

Official description

In the Linux kernel, the following vulnerability has been resolved: tcp: fix stale per-CPU tcp_tw_isn leak enabling ISN prediction Blamed commit moved the TIME_WAIT-derived ISN from the skb control block to a per-CPU variable, assuming the value would always be consumed by tcp_conn_request() for the same packet that wrote it. That assumption is violated by multiple drop paths between the producer (__this_cpu_write(tcp_tw_isn, isn) in tcp_v{4,6}_rcv()) and the consumer (tcp_conn_request()): - min_ttl / min_hopcount check - xfrm policy check - tcp_inbound_hash() MD5/AO mismatch - tcp_filter() eBPF/SO_ATTACH_FILTER drop - th->syn && th->fin discard in tcp_rcv_state_process() TCP_LISTEN - psp_sk_rx_policy_check() in tcp_v{4,6}_do_rcv() - tcp_checksum_complete() in tcp_v{4,6}_do_rcv() - tcp_v{4,6}_cookie_check() returning NULL When a packet is dropped on any of these paths, tcp_tw_isn is left set. The next SYN processed on the same CPU then consumes the non zero value in tcp_conn_request(), receiving a potentially predictable ISN. This patch moves back tcp_tw_isn to skb->cb[], getting rid of the per-cpu variable. Note that tcp_v{4,6}_fill_cb() do not set it. Very litle impact on overall code size/complexity: $ scripts/bloat-o-meter -t vmlinux.old vmlinux.new add/remove: 0/0 grow/shrink: 2/1 up/down: 8/-15 (-7) Function old new delta tcp_v6_rcv 3038 3042 +4 tcp_v4_rcv 3035 3039 +4 tcp_conn_request 2938 2923 -15 Total: Before=24436060, After=24436053, chg -0.00%

Source: the CVE record as published by its numbering authority, via NVD and CVE.org.

The underlying weakness: Missing Release of Memory after Effective Lifetime

The product does not sufficiently track and release allocated memory after it has been used, making the memory unavailable for reallocation and reuse.

How developers prevent this class of flaw

  • Choose a language or tool that provides automatic memory management, or makes manual memory management less error-prone. For example, glibc in Linux provides protection against free of invalid pointers. When using Xcode to target OS X or iOS, enable automatic reference counting (ARC). To help correctly and consistently manage memory when programming in C++, consider using a smart pointer class such as std
  • Use an abstraction library to abstract away risky APIs. Not a complete solution.
  • Consider using the Boehm-Demers-Weiser garbage collector (bdwgc), which can help avoid leaks.

More Missing Release of Memory after Effective Lifetime vulnerabilities (CWE-401)

Timeline

  1. CVE record published.
  2. CISA published its SSVC assessment (exploitation: none, automatable: yes, technical impact: partial).
  3. Record last changed materially (score, affected products, status or references).

References

Recent Missing Release of Memory after Effective Lifetime vulnerabilities

Spotted an error? Tell us.