CVE-2026-89487Active Exploitation

MEDIUMCVSS 7.8 · HIGH

Exploitation ongoing with high activity in latest observed window (1 mentions)

Immediate actions

  • Patch affected systems immediately
  • Assume compromise if assets are exposed

Recommended action window: Immediate (within 24h)

NVD description

In the Linux kernel, the following vulnerability has been resolved: openvswitch: only skb_tx_error() a packet we are about to drop queue_userspace_packet() borrows the packet skb -- it only copies it into a private netlink message (user_skb) and does not own it; on return do_execute_actions() keeps forwarding it through the flow's remaining actions. Its error path nevertheless calls skb_tx_error(skb), which via skb_zcopy_clear() does skb_shinfo(skb)->flags &= ~SKBFL_ALL_ZEROCOPY, stripping SKBFL_SHARED_FRAG from that live skb (skb_tx_error()'s kerneldoc says "skb must be freed afterwards"). For a MSG_ZEROCOPY skb carrying page-cache frags, SKBFL_SHARED_FRAG is what makes esp_input() skb_cow_data() before in-place AEAD; once it is stripped a later local ESP-in-UDP delivery decrypts in place over pages the sender does not own -- an unprivileged page-cache write (the "Fragnesia" primitive). do_execute_actions() ignores output_userspace()'s return value, so any action after a failed USERSPACE upcall inherits the stripped skb. Move the skb_tx_error() to the flow-miss drop path - the "default" branch of ovs_dp_process_packet()'s switch(error), before kfree_skb(). The call has been here since commit 36d5fe6a0007 ("core, nfqueue, openvswitch: Orphan frags in skb_zerocopy and handle errors") but was harmless until esp_input() began relying on SKBFL_SHARED_FRAG to gate in-place decrypt; only then did stripping it on a still-forwarded skb become a page-cache write primitive.

4.0/ 10 priority

Sources & remediation

Priority

MEDIUM

Exploitation

ACTIVE

PoC

NONE

Patch

AVAILABLE

Momentum

STABLE

Threat summary

  • Active exploitation appears in 1 classified signals
  • Patch or workaround signal is available
  • 2 mentions across 2 observed days
  • Momentum state: stable

What's happening

  • Active exploitation reported across 1 signal
  • Patch or workaround mentioned in 2 signals
  • Technical details provided in 2 signals
  • Peaked 1d ago at 1 mentions (2026-09-17); latest day: 1
  • 2 total mentions across 2 days

Deep dive

Activity timeline2 mentions / 2d
00111Mentions · 2026-09-17: 1Mentions · 2026-09-19: 1Active Exploitation · 2026-09-17: 1Patch / Workaround · 2026-09-17: 1Patch / Workaround · 2026-09-19: 1Technical Details · 2026-09-17: 1Technical Details · 2026-09-19: 109-1709-19
Signal classification2 categories
Active Exploitation
150.0%
Patch
150.0%
Classification over time
DateTotalLabels
2026-09-171
Active Exploitation1
2026-09-191
Patch1
Full discourse2 posts
  • DFIR Radar@DFIR_Radar
    Active Exploitation

    New LPE bug family: Open vSwitch strips SKBFL_SHARED_FRAG from a live forwarded skb, reopening the Fragnesia page-cache write primitive. Deterministic root on default Arch, Fedora, Debian, Amazon Linux, and RHEL with no race condition required. Tracked as CVE-2026-90049, CVE-2026-89487, and CVE-2026-80977. Public since 2026-08-13, fixed in mainline and stable on 2026-09-04. Actively exploitable on unpatched kernels today. - Root cause is in queue_userspace_packet() inside net/openvswitch/datapath.c. When an OVS upcall fails, skb_tx_error() calls skb_zcopy_clear(), which clears the entire SKBFL_ALL_ZEROCOPY group including SKBFL_SHARED_FRAG. Because do_execute_actions() ignores the upcall return value, the same skb, now missing its ownership marker but still carrying foreign page-cache frags, continues down the action pipeline to OUTPUT. If that output reaches esp_input(), the gate at skb_has_shared_frag() passes and the in-place AES-GCM decrypt writes attacker-controlled plaintext directly into the page-cache folio. - Exploitation requires three things an unprivileged user can satisfy: CAP_NET_ADMIN inside a user namespace (GENL_UNS_ADMIN_PERM on all OVS genl ops, so unshare -Urn is enough), openvswitch.ko autoloading on first genl family resolution (no CAP_SYS_MODULE needed), and an MSG_ZEROCOPY send over a PROT_READ MAP_SHARED mapping of a root-owned file so SKBFL_DONT_ORPHAN keeps the page-cache frag from being copied during the upcall. #DFIR_Radar

    Post summary

    The post discloses multiple Open vSwitch vulnerabilities (CVE-2026-90049, CVE-2026-89487, CVE-2026-80977) with detailed technical exploitation logic confirming active attacks on unpatched systems, and references a patch released on 2026-09-04.

    10000208
    1.9K followersView on X
  • DFIR Lab@DFIR_Lab
    Patch

    🚨 HIGH: CVE-2026-89487 (CVSS 7.8) affects Linux kernel openvswitch. Vulnerability enables unprivileged page-cache write via MSG_ZEROCOPY skb handling flaw. Patch immediately. #CVE #Vulnerability #PatchNow #ThreatIntel #DFIR https://t.co/TXx9AfsnKs

    Post summary

    The tweet discloses CVE-2026-89487 (CVSS 7.8) affecting Linux kernel openvswitch via an MSG_ZEROCOPY skb handling flaw enabling unprivileged page-cache writes, and urges immediate patching.

    0000029
    139 followersView on X

Explore more