CVE-2026-99056
kernel: strparser: make sure __strp_recv isn't running before tearing down the parser
Severity
ImportantRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · October 23, 2026
Updated · November 5, 2026
Description
A flaw was found in the Linux kernel's stream parser component. A race condition occurs when stopping the stream parser while socket receive operations are still actively executing. A local attacker could exploit this timing issue to cause a use-after-free memory error, potentially leading to privilege escalation or a Denial of Service (DoS) via a system crash.
Statement
This vulnerability is rated as an Important severity flaw because an authenticated local user can leverage a use-after-free condition in the kernel to achieve complete privilege escalation or cause a system crash, without requiring physical access or administrative privileges. Although the underlying race condition specifically affects teardown handling in the stream parser when processing ESP encapsulated over TCP (espintcp) sockets, the resulting memory corruption directly compromises host kernel integrity. Typical Red Hat Enterprise Linux deployments hosting multi-tenant workloads or unprivileged users with local socket access are primarily exposed to this risk.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
--- CME Mitigation Guidance (2026-11-02) --- Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure.
The highest-value action is to synchronize stream parser teardown with in-flight receive processing and convert parser state flags to independent members to prevent use-after-free conditions: upgrade to the fixed Kernel/Kernel Rt/Kernel Ivos Qualcomm/Openshift/Ose Rhel Coreos/Kpatch builds, which adds a lock_sock and release_sock pair in strp_done to wait for active receive processing to finish and converts parser state bitfield flags into u8 members, closing all 2 injection vectors (concurrent socket stream parser teardown during in-flight receive processing, unsynchronized bitfield state updates between parser stop and pause operations). Until patched, this is only a concern on Linux multi-tenant systems or hosts granting unprivileged local users access to create and tear down stream parser sockets such as espintcp — Non-Linux platforms are unaffected — so Restrict unprivileged local user access and constrain process capabilities to prevent unauthorized local users from creating or manipulating espintcp stream parser sockets. As a compensating measure, Enable runtime memory error detection with KASAN or HWASan to detect use-after-free memory errors at runtime using allocation quarantines and redzones, Enable SLAB freelist hardening to randomize freelist allocation order and validate freelist pointer integrity against exploitation, Enforce SELinux in enforcing mode to constrain unprivileged processes and limit post-exploitation actions, Enable KASLR to randomize kernel code locations and impede ROP chain construction, Enable SMEP to prevent the kernel from executing userspace shellcode if control flow is redirected, and Enable SMAP to prevent kernel dereferences of userspace memory structures used to forge freed socket or parser objects. These controls limit blast radius and contain exploitation, but they do not fix the underlying stream parser use-after-free race condition — apply the upstream patch to fully remediate.
Highest-impact CME: CME-301 SELinux (Enforcing Mode) (medium)
CVSS / CWE
CVSS 3.1 · 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE-366 · Race Condition within a Thread