Race condition in Linux kernel strparser parser teardown
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 5 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.
Summary
The Linux kernel strparser stream parser is affected from version 5.6 until the fixed releases listed in the solution. The strp_done() teardown assumes that receive calls started before strp_stop() have finished, but an in-flight strp_recv() can still run after teardown, which creates a possible use-after-free. A local user with low privileges can exploit this to affect confidentiality, integrity and availability. A reproducer has been published.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
Description from the CNA
In the Linux kernel, the following vulnerability has been resolved: strparser: make sure __strp_recv isn't running before tearing down the parser The comment above strp_done() claims that if strp is stopped, strp_recv will no longer be called. That's only true if the caller has a mechanism (eg locking) to guarantee that strp_recv() calls that started before strp_stop() have completed by the time we call strp_done(). This adds a dummy lock_sock/release_sock pair to guarantee that any in-flight strp_recv() (which runs under either bh_lock_sock or lock_sock, depending if it's called from ->sk_data_ready or strp_work) has completed. Only espintcp can be affected by this race condition, but this patch makes sure no future user of strp can have the bug. This could crash on strp->sk ("general mode" of strp), but this mode has been here for 9 years and has never been used. It'll be gone soon, no point worrying about it. Switch the stopped/paused/etc bits to u8's to avoid races between strp_stop() and strp_pause/unpause(). A reproducer has been published and turns the possible UAF into an exploit [1].
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Update the Linux kernel to 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.57, 7.2.11 or 7.3, depending on the stable branch in use. The sources list no fixed version for Red Hat Enterprise Linux 8, 9 or 10. The sources list no fixed version for Red Hat OpenShift Container Platform 4 or 5.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
- Fix · CNA Linux (Linux) Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.57, 7.2.11, 7.3
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet |
| Red Hat Enterprise Linux 8 | Affected | No fix yet |
| Red Hat Enterprise Linux 9 | Affected | No fix yet |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet |
Not affected: 2 products
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
Timeline
- 2026-10-23 Threatist record created from CVE-2026-99056
- 2026-10-23 Alias added: GHSA-cxj6-cg32-r3fc
- 2026-10-24 CVSS score added · CNA
- 2026-10-24 Priority changed: LOW → MEDIUM
- 2026-10-24 Priority changed: MEDIUM → LOW
- 2026-10-27 Affected versions changed · Red Hat
- 2026-10-27 CVSS score added · Red Hat
- 2026-10-30 Affected versions changed · Red Hat
- 2026-10-30 Fix available: Linux/[email protected], Linux/[email protected], Linux/[email protected] +3 · CNA
- 2026-10-30 3 new references · CNA
References
Other 8
- https://git.kernel.org/stable/c/b09071e2f8460b35c7d355addad0fc7b31c6904d
- https://git.kernel.org/stable/c/933df60a465b1b82ff92dcd6870504da90ba4e9b
- https://git.kernel.org/stable/c/61cc5dac60d50dee06cf5c7b7ab246f9c825a715
- https://git.kernel.org/stable/c/a18dd388045dc7263d99a07db9de4e0f149ca8f1
- https://git.kernel.org/stable/c/9f3e9fe1b155e9b4572054d8d140586bc3512ecf
- https://git.kernel.org/stable/c/d2b5f637b9b67a79a50d42614d10653c13b4e449
- https://git.kernel.org/stable/c/eaa3a29004c063d7e9d5ea55636f693f67e6db0f
- https://git.kernel.org/stable/c/0984ebc631792acf8fff105112ee74a6b8f1efcc
More Linux vulnerabilities
- 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-2021-02452 Incorrect authorization in Ubuntu linux kernel 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
Sources
- CVE-2026-99056 · CVE Program
- CVE-2026-99056 · NVD
- FIRST EPSS
- GHSA-cxj6-cg32-r3fc · GitHub Advisory Database · CC BY 4.0
- CVE-2026-99056 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences