HOMEVULNERABILITIESCVE-2026-31669
CRITICAL

CVE-2026-31669

Published: April 24, 2026· Updated: Apr 27, 2026

9.8
CVSS v3.1
EPSS:0.07%probability of exploitation in 30 daysPercentile:20.6th

Official Description

In the Linux kernel, the following vulnerability has been resolved:

mptcp: fix slab-use-after-free in __inet_lookup_established

The ehash table lookups are lockless and rely on

SLAB_TYPESAFE_BY_RCU to guarantee socket memory stability

during RCU read-side critical sections. Both tcp_prot and

tcpv6_prot have their slab caches created with this flag

via proto_register().

However, MPTCP's mptcp_subflow_init() copies tcpv6_prot into

tcpv6_prot_override during inet_init() (fs_initcall, level 5),

before inet6_init() (module_init/device_initcall, level 6) has

called proto_register(&tcpv6_prot). At that point,

tcpv6_prot.slab is still NULL, so tcpv6_prot_override.slab

remains NULL permanently.

This causes MPTCP v6 subflow child sockets to be allocated via

kmalloc (falling into kmalloc-4k) instead of the TCPv6 slab

cache. The kmalloc-4k cache lacks SLAB_TYPESAFE_BY_RCU, so

when these sockets are freed without SOCK_RCU_FREE (which is

cleared for child sockets by design), the memory can be

immediately reused. Concurrent ehash lookups under

rcu_read_lock can then access freed memory, triggering a

slab-use-after-free in __inet_lookup_established.

Fix this by splitting the IPv6-specific initialization out of

mptcp_subflow_init() into a new mptcp_subflow_v6_init(), called

from mptcp_proto_v6_init() before protocol registration. This

ensures tcpv6_prot_override.slab correctly inherits the

SLAB_TYPESAFE_BY_RCU slab cache.

NVD Source

Technical Analysis

CVE-2026-31669 can be exploited remotely over the network without requiring physical or adjacent access, significantly expanding the attack surface for threat actors.

The vulnerability requires no privileges and no user interaction, making it a prime target for automated exploitation campaigns and worm-like propagation.

A successful exploit results in complete confidentiality breach (data exposure), full integrity compromise (data manipulation), availability disruption (denial of service), with a CVSS base score of 9.8.

CVSS v3.1 Vector Breakdown

Exploitability
Attack VectorNetwork
Attack ComplexityLow
Privileges Req.None
User InteractionNone
ScopeUnchanged
Impact
ConfidentialityHigh
IntegrityHigh
AvailabilityHigh
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected Vendors & Products

Linux1 product
linux kernel
Source: NVD CPE · 3 total CPE entries

Exploit & PoC Resources

NO KNOWN EXPLOITNo public exploit confirmed at this time
External links open in a new tab. Always verify in a controlled environment before use.

Official Patches & Advisories

All References (7)

Quick Facts

CVE IDCVE-2026-31669
CVSS Score9.8 / 10
SeverityCRITICAL
CISA KEVNo
EPSS (30d)0.07%
Affected1 vendor
PublishedApr 24, 2026

Recommended Actions

  • Apply vendor patches immediately
  • Monitor CVE-2026-31669 in threat intel feeds
  • Review IDS/IPS signatures for exploitation attempts
Data sourced from NVD (NIST), CISA KEV, and EPSS (FIRST). Analysis generated by CTIWATCH.COM. CVE data is provided under the NVD usage policy.