CVE-2026-99056
High · 7.8CVSS
7.8
EPSS
0.2%
Published
Oct 23, 2026
CISA due date
—
Cloudanix analysis
A recently fixed Linux kernel networking bug could let someone who already has access to a computer crash the system or gain higher privileges, and a working attack has now been published.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
Race condition during strparser teardown allows in-flight __strp_recv calls (under bh_lock_sock or lock_sock) to access strp->sk after strp_done, resulting in use-after-free.
Why it matters to the business
Local attackers on Linux systems using espintcp can trigger kernel crashes or privilege escalation; the issue is newly exploitable via a public reproducer and affects a widely used kernel component.
How an attack unfolds
An attacker with local access triggers strp_stop concurrently with an in-flight strp_recv (from sk_data_ready or strp_work), causing a use-after-free on strp->sk that the published reproducer converts into arbitrary code execution.
How to fix it
Apply the upstream kernel patch that inserts a dummy lock_sock/release_sock pair in strp_done, switches stopped/paused bits to u8, and ensures no future strp users inherit the race.
How to confirm the fix worked
Inspect strp.c for the lock_sock/release_sock guard around strp_done and confirm stopped/paused fields are declared as u8; test with the published reproducer to verify the crash no longer occurs.
Typical attack path
- Obtain local user access on the target Linux system
- Force espintcp or strparser teardown while strp_recv is executing
- Trigger the race to produce use-after-free
- Leverage UAF for privilege escalation or denial of service
How to detect it
Search kernel logs and crash dumps for strparser use-after-free or oops referencing strp->sk; correlate with espintcp teardown events or strp_work activity.
What your security team should do
- Patch Linux kernels immediately due to public exploit availability
- Limit local unprivileged access on systems exposing espintcp
- Monitor kernel logs for strparser-related use-after-free oops
- Plan removal of the unused general-mode strp code path
The record
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].
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|