cve.bz

CVE-2026-99288 inet: reject unhashed sockets during established lookups

no score yetEPSS 0.2%Fix available

linux linux: no CVSS score yet. EPSS 0.2% estimated probability of exploitation activity in the next 30 days.

On this page
In the Linux kernel, the following vulnerability has been resolved: inet: reject unhashed sockets during established lookups TCP established ehash lookups are lockless. The socket caches involved use SLAB_TYPESAFE_BY_RCU, so memory can be reused before an RCU reader that retained its old address has finished. After a tuple match, __inet_lookup_established() and __inet6_lookup_established() acquire a reference and repeat the tuple check. They do not check whether the new object is hashed. If the address is reused for a socket with the same tuple, the lookup can acquire a reference to the new object and return it while its nulls node is unhashed. A PoC that drives reuse with a SYN cookie request socket reproduced the crash. The new request socket is unhashed and has a NULL rsk_listener. A lookup that had loaded the address of the old request socket acquired the reference published by tcp_get_cookie_sock() and returned the new object. tcp_v4_rcv() then read sk_state through the NULL listener. The resulting crash was: BUG: kernel NULL pointer dereference, address: 0000000000000012 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page ... Oops: Oops: 0000 [#1] SMP NOPTI CPU: 4 UID: 0 PID: 0 Comm: swapper/4 Not tainted 7.3.0-00591-g0e135910deec #1 PREEMPT(lazy) ... RIP: 0010:tcp_v4_rcv+0x44e/0x1280 ... R10: 0000000000000001 R11: 00000000024ca8c0 R12: 0000000000000000 ... CR2: 0000000000000012 CR3: 0000000103d50004 CR4: 0000000000770ef0 ... Call Trace: <IRQ> ? raw_local_deliver+0xae/0x240 ip_protocol_deliver_rcu+0x2d/0x180 ip_local_deliver_finish+0x84/0x100 ip_sublist_rcv_finish+0x5f/0x70 ip_sublist_rcv+0x12a/0x1d0 ip_list_rcv+0xfd/0x130 __netif_receive_skb_list_core+0x223/0x250 netif_receive_skb_list_internal+0x1d2/0x2c0 ? try_fill_recv+0x39/0x7b0 napi_complete_done+0x74/0x170 virtnet_poll+0x445/0x600 __napi_poll+0x27/0x1e0 net_rx_action+0x2fe/0x3b0 handle_softirqs+0xc2/0x2c0 __irq_exit_rcu+0x74/0xd0 common_interrupt+0x7f/0x90 </IRQ> ... Kernel panic - not syncing: Fatal exception in interrupt After taking a reference, check whether the nulls node is unhashed in both IPv4 and IPv6 established lookups. If it is unhashed or the tuple no longer matches, drop the reference and restart the lookup. Lookups racing with the TIME_WAIT hashdance, or with a request being replaced by its child, now restart and find the new socket instead of returning the old one. Request sockets that were never inserted into ehash can have a nonzero refcount, and a stale lookup can hold a transient reference. Therefore, when SYN cookie, Fast Open, and request migration paths fail after setting a nonzero refcount, release the references held by those paths with reqsk_put() instead of freeing the request directly.
EPSS
0.2% estimated probability of exploitation activity in the next 30 days; 5th percentile. Scored 2026-11-13. A forecast for this CVE across the internet, not for your own systems.
Published
Modified
Assigned by
Linux (CNA)
NVD analysis
Awaiting analysis
Record from
the NVD, synced

Ask an AI about this CVE

Show the promptExplain CVE-2026-99288 for an engineer deciding whether to act. Use https://cve.bz/api/public/cves/CVE-2026-99288?via=ask-ai-copy and https://cve.bz/cve/CVE-2026-99288?via=ask-ai-copy as the source of truth: what is affected and which versions fix it, whether it is in CISA KEV, public exploits, and its EPSS (an internet-wide 30-day estimate of exploitation activity, not a forecast for my systems). If they give no fixed versions, use the CVE record https://cveawg.mitre.org/api/cve/CVE-2026-99288 or the vendor advisory, not third-party mirrors. Tell me how to check whether I am affected and how to verify a fix. Cite the sources and say where they are uncertain.

Opens a third-party assistant; its answer is its own, not cve.bz's. The prompt holds only this CVE's id and public links.

Badge for a README or a site

CVE-2026-99288

An image that stays current: it is drawn from the data each time it is fetched (a host that proxies images, as GitHub does, may show its copy for a while). Markdown:

[![CVE-2026-99288](https://cve.bz/cve/badge/CVE-2026-99288.svg)](https://cve.bz/cve/CVE-2026-99288)

HTML:

<a href="https://cve.bz/cve/CVE-2026-99288"><img src="https://cve.bz/cve/badge/CVE-2026-99288.svg" alt="CVE-2026-99288"></a>

Affected

Versions

From the CNA's record in the CVE List.

ProductAffected
Linux4.4 and later

Fixed in

ProductRelease lineFixed in
Linux6.126.12.117
Linux6.186.18.63
Linux7.37.3.4
Linuxlater releases7.4-rc2

Fix and patched versions

Linux distributions

DistributionReleasePackageFixed inAdvisory
Debian12, 14linuxno fix listedDEBIAN-CVE-2026-99288
Debian13linux6.12.117-1DEBIAN-CVE-2026-99288
Ubuntu16.04:LTSlinux-hwe-edgeno fix listedUBUNTU-CVE-2026-99288
Ubuntu18.04:LTSlinux-gcp, linux-hwe, linux-oem and 12 moreno fix listedUBUNTU-CVE-2026-99288
Ubuntu20.04:LTSlinux-gke, linux-gkeop, linux-riscv and 26 moreno fix listedUBUNTU-CVE-2026-99288
Ubuntu22.04:LTSlinux, linux-aws, linux-gcp and 57 moreno fix listedUBUNTU-CVE-2026-99288
Ubuntu24.04:LTSlinux, linux-aws, linux-gcp and 50 moreno fix listedUBUNTU-CVE-2026-99288
Ubuntu26.04:LTSlinux, linux-aws, linux-gcp and 12 moreno fix listedUBUNTU-CVE-2026-99288
Ubuntu26.10linux, linux-aws, linux-gcp and 6 moreno fix listedUBUNTU-CVE-2026-99288
UbuntuNvidia-BlueField:22.04:LTS, Nvidia-BlueField:24.04:LTSlinux-bluefieldno fix listedUBUNTU-CVE-2026-99288
UbuntuPro:14.04:LTSlinux, linux-aws, linux-azure and 1 moreno fix listedUBUNTU-CVE-2026-99288
UbuntuPro:16.04:LTSlinux, linux-aws, linux-gcp and 5 moreno fix listedUBUNTU-CVE-2026-99288
UbuntuPro:18.04:LTSlinux, linux-aws, linux-kvm and 10 moreno fix listedUBUNTU-CVE-2026-99288
UbuntuPro:20.04:LTSlinux, linux-aws, linux-gcp and 19 moreno fix listedUBUNTU-CVE-2026-99288
4 more for Ubuntu in the JSON and on Ubuntu's page.
Azure Linux3kernelno fix listedAZL-113320
Alpaquita23, 25, streamlinux-ltsno fix listedBELL-CVE-2026-99288

From the distributions' data via OSV.dev: the Debian Security Tracker; Ubuntu Security Notices © Canonical Ltd., CC BY-SA 4.0; Microsoft's Azure Linux vulnerability data, MIT; BellSoft's OSV database, MIT. Modified: reformatted and linked to CVE records. Credits. On the distributions' own pages: Debian · Ubuntu · Alpaquita.

Red Hat

Red Hat rates this Important.

Red Hat's statement

This vulnerability is rated as an Important impact because an unauthenticated remote attacker can trigger an immediate operating system crash across the network without requiring privileges. In standard Red Hat Enterprise Linux deployments, TCP networking is universally enabled, making any system with active network listeners susceptible to high-volume socket recycling traffic. While this flaw causes a kernel panic that disrupts host availability, it does not allow data alteration or arbitrary code execution.

Red Hat's mitigation

## 1. Disable SYN cookies

This blocks the path where a request socket is reconstructed through a

SYN cookie.

sudo sysctl -w net.ipv4.tcp_syncookies=0

This setting is managed per network namespace. It has to be applied to

"each" container that uses a separate network namespace. Disabling it

lowers the protection against SYN floods.

## 2. Serialize to a single RX queue

This vulnerability requires different RX contexts to race

concurrently. Reducing the RX queues of the interface where external

packets come in to one and disabling RPS and RFS can block the race.

ProductPackageStateAdvisory
Red Hat Enterprise Linux 10kernelAffected
Red Hat Enterprise Linux 6kernelNot affected
Red Hat Enterprise Linux 7kernelNot affected
Red Hat Enterprise Linux 7kernel-rtNot affected
Red Hat Enterprise Linux 8kernelAffected
Red Hat Enterprise Linux 8kernel-rtAffected
Red Hat Enterprise Linux 9kernelAffected
Red Hat Enterprise Linux 9kernel-rtAffected

Contains Red Hat Security Data © Red Hat, Inc., licensed under CC BY 4.0. Source: https://access.redhat.com/security/data. Modified: reformatted. Red Hat's page for CVE-2026-99288.

References

Check your stackJSON