Threat reportVulnerabilityTL-2026-4592

CVE-2026-9539: libslirp TCP urgent pointer (sosendoob) out-of-bounds heap read and integer underflow host-memory leak

mediumMONITORING

CVE-2026-9539 (TL-2026-4592), also tracked as libslirp TCP URG OOB Read Information Leak, is a medium-severity software vulnerability scored CVSS 6.5, first published 2026-10-28. It has no confirmed attribution, affects freedesktop.org (libslirp) libslirp, references 1 CVE (CVE-2026-9539), maps to 4 MITRE ATT&CK techniques (T1005, T1048, T1212), and is covered by 9 detection rules and 11 indicators of compromise.

CVSS
6.5/10Medium
CVEs
1Referenced vulnerabilities
Techniques
4MITRE ATT&CK
Actors
0Not attributed
Detection rules
9SPL · KQL · Sigma
IOCs
11Indicators of compromise

Key facts for TL-2026-4592

Threat ID
TL-2026-4592
Also known as
libslirp TCP URG OOB Read Information Leak, libslirp heartbleed-like leak
Severity
MEDIUM
CVSS
6.5 (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N)
Status
MONITORING
Category
VULNERABILITY
First published
Last reviewed
Attribution confidence
LOW
Motivation
UNKNOWN
Target sectors
technology, cloud, software-development
Target regions
Global
Detection rules
9
Indicators of compromise
11

Malware and tooling in CVE-2026-9539

Malware and tooling: libslirp-4.9.1-or-earlier-linked-QEMU, LibAFL-QEMU

How CVE-2026-9539 works

libslirp, the user-mode networking library embedded in QEMU and other VM/container tooling, validates the TCP urgent pointer against an intermediate buffer size instead of the amount of valid socket data. The resulting integer underflow lets a privileged guest leak up to the whole 128KB receive buffer of the host process, including leftovers from earlier heap allocations. A fix shipped in libslirp v4.9.2 and no in-the-wild exploitation is reported.

CVE-2026-9539 is an out-of-bounds heap read and integer underflow in the TCP urgent data handling of libslirp (function sosendoob in src/socket.c, around lines 339-394). libslirp tests the TCP urgent pointer against the size of an intermediate buffer rather than against the amount of valid data held in the socket. When the urgent offset exceeds the valid data, an unsigned length computation underflows and the code reads far more data than intended.

The SLIRP socket send and receive buffers are two 128KB arrays walked by ring-buffer pointers. Because the over-read stays inside the allocated region, AddressSanitizer does not flag it. Per Quarkslab, the data is sent back to the guest over multiple packets and leaks the whole content of the receive buffer. If that memory chunk was previously freed and reallocated, the leak includes leftovers from the earlier allocation, hence the 'heartbleed-like' description.

Per the OSV and Debian records, exploitation requires a privileged guest VM attacker (root or CAP_NET_RAW in the guest) who sends crafted TCP segments with manipulated URG flags and offsets. The impact is confidentiality only: leakage of host-process heap memory. The CVSS 3.1 vector records a changed scope (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N, 6.5 Medium). The record does not state that the leak was chained to code execution.

The bug was found by Bruce Chen and Shi Weiming of STAR Labs SG Pte. Ltd. and reported to libslirp in May 2026. Quarkslab (Jérémy Marchand) documented a LibAFL-QEMU incremental-snapshot stateful fuzzer used to explore TCP state machines in libslirp. Its code is public at github.com/quarkslab/slirp_snapshots_stateful. The Quarkslab write-up describes detection through UBSAN (-fsanitize=unsigned-integer-overflow,signed-integer-overflow, which flags the underflow at line 394) or through custom ASAN poisoning of the ring-buffer memory.

All libslirp versions from v0.6.0 through v4.9.1 are affected and v4.9.2 is the first fixed release. The fix commits are 97b325339a1377249e68e6c58e9c15a6e1bba4c1 and 927bca7344e31fd58e2f7afaca784aad4400eb84. Distributions have backported fixes: Debian trixie 4.8.0-1+deb13u1 and SUSE Linux Micro 6.1 libslirp0 4.8.0+2-slfo.1.1_2.1. Debian bookworm 4.7.0-1 remains vulnerable, with the update postponed as a minor issue. No network IOCs, malware, or threat-actor activity are reported.

MITRE ATT&CK techniques used in TL-2026-4592

Collection

T1005 Data from Local System

Exfiltration

T1048 Exfiltration Over Alternative Protocol

Credential Access

T1212 Exploitation for Credential Access

Privilege Escalation

T1611 Escape to Host

Affected products and versions in CVE-2026-9539

  • freedesktop.org (libslirp) — libslirp
    Vulnerable versions: v0.6.0 through v4.9.1
    Fixed in: v4.9.2 and later
  • Debian — libslirp
    Vulnerable versions: bookworm 4.7.0-1
    Fixed in: trixie 4.8.0-1+deb13u1; forky/sid 4.9.5-1
  • SUSE — SUSE Linux Micro 6.1 (libslirp0)
    Vulnerable versions: versions prior to 4.8.0+2-slfo.1.1_2.1
    Fixed in: 4.8.0+2-slfo.1.1_2.1
  • QEMU project — QEMU (embeds libslirp for user-mode networking)
    Vulnerable versions: builds linked against libslirp before v4.9.2; specific QEMU versions not stated in sources
    Fixed in: builds linked against libslirp v4.9.2 or later

Remediation for CVE-2026-9539

Patches

  • libslirp v4.9.2 (commits 97b325339a1377249e68e6c58e9c15a6e1bba4c1 and 927bca7344e31fd58e2f7afaca784aad4400eb84)
  • Debian trixie libslirp 4.8.0-1+deb13u1
  • SUSE Linux Micro 6.1 libslirp0 4.8.0+2-slfo.1.1_2.1 (SUSE-SU-2026:22452-1)

Immediate actions

  • Upgrade libslirp to v4.9.2 or later on every hypervisor or container host that uses SLIRP user-mode networking
  • Inventory QEMU builds and other tools that embed or dynamically link libslirp
  • Restrict root and CAP_NET_RAW in untrusted guests, since exploitation needs a privileged guest

Workarounds

  • Where patching is not possible, avoid SLIRP networking for untrusted guests
  • Debian bookworm 4.7.0-1 remains vulnerable and its update is postponed, so use a backported or rebuilt libslirp

Longer-term hardening

  • Prefer bridged or tap networking over SLIRP user-mode networking for untrusted guests
  • Fuzz network stacks with UBSAN integer-overflow checks and ring-buffer-aware ASAN poisoning, because plain ASAN does not see in-allocation over-reads

CVEs associated with CVE-2026-9539

CVE-2026-9539

Weaknesses (CWE) in CVE-2026-9539

CWE-125

Timeline of CVE-2026-9539

  • Vulnerability reported to libslirp by Bruce Chen and Shi Weiming of STAR Labs SG Pte. Ltd. (source gives month only, May 2026; the day is a placeholder)
  • OSV record at publication already references the fix commits 97b325339a1377249e68e6c58e9c15a6e1bba4c1 and 927bca7344e31fd58e2f7afaca784aad4400eb84 and the libslirp v4.9.2 release, so a patched upstream version existed when the CVE went public
  • CVE-2026-9539 published to NVD and OSV with CVSS 3.1 score 6.5 (Medium), CWE-125, fixed in libslirp v4.9.2
  • SUSE releases SUSE-SU-2026:22452-1 (moderate) for SUSE Linux Micro 6.1, fixing libslirp0 4.8.0+2-slfo.1.1_2.1 (bsc#1268903)
  • Quarkslab's LibAFL-QEMU incremental-snapshot stateful fuzzer (quarkslab/slirp_snapshots_stateful, Apache 2.0) is made public alongside the write-up, including an offline reproducer; the UBSAN signature 'unsigned integer overflow: 8 - 2048 cannot be represented in type uint32_t' is documented as the detection indicator
  • Quarkslab publishes 'Snapshotting our way to CVE-2026-9539', describing the sosendoob root cause and the LibAFL-QEMU snapshot fuzzer; the PoC repository is released
  • OSV record for CVE-2026-9539 last modified; Debian trixie and forky/sid carry fixes while bookworm 4.7.0-1 remains vulnerable with its update postponed

Sources cited for CVE-2026-9539

Detection coverage for TL-2026-4592

As of 2026-10-28, Threadlinqs Intelligence publishes 9 detection rule(s) for TL-2026-4592 across Splunk SPL, Microsoft KQL and Sigma, covering 11 indicator(s) of compromise. The whole corpus is readable without an account; a free account unlocks full detection query text in Splunk SPL, Microsoft KQL and Sigma; paid tiers add raw indicator values, correlation and the MCP server. Threadlinqs MCP server · View plans.

9 detection rules (Splunk SPL, Microsoft KQL, Sigma) · Blue and above. Compare plans
11 indicators of compromise · Red and above. Compare plans

Threadlinqs Intelligence — Real-Time Threat Detection Platform

[ 0 threats ] [ 0 det ] [ CRIT: 0 ] [ HIGH: 0 ]
// threat_feed
$ sort --newest
Showing all threats

Live intelligence console

Threat level
Fig. 01 · Threat weatherIndexing the archive…
1 square = 1 threat · click to open

Latest Threats