Threat reportVulnerabilityTL-2026-4592
CVE-2026-9539: libslirp TCP urgent pointer (sosendoob) out-of-bounds heap read and integer underflow host-memory leak
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
Exfiltration
T1048 Exfiltration Over Alternative Protocol
Credential Access
T1212 Exploitation for Credential Access
Privilege Escalation
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
Weaknesses (CWE) in CVE-2026-9539
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
- Snapshotting our way to CVE-2026-9539 (Quarkslab, Jérémy Marchand)
- libslirp GitLab issue #93
- quarkslab/slirp_snapshots_stateful (LibAFL-QEMU snapshot fuzzer)
- OSV: CVE-2026-9539
- NVD: CVE-2026-9539
- Debian Security Tracker: CVE-2026-9539
- SUSE-SU-2026:22452-1 Security update for libslirp
- libslirp v4.9.2 release
- libslirp fix commit 927bca73
- SUSE CVE page 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.