Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker controls guest/container on libslirp network
-
DeliveryCraft truncated malformed IPv4 packet
-
ExploitTrigger ICMP error in icmp_forward_error()
-
ExecutionUnclamped length causes heap over-read
-
PersistLeaked host memory returned in ICMP reply
-
ImpactHarvest host memory from guest
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the target host uses libslirp as its network backend - e.g. QEMU user-mode ('slirp') networking or rootless Podman's default slirp4netns/libslirp networking - and that the attacker controls a guest VM or container attached to that emulated network, matching the AV:A adjacent position. The attacker must be able to emit raw/malformed IPv4 traffic that causes libslirp to generate an ICMP error (the icmp_forward_error() path). No host authentication or user interaction is needed (PR:N/UI:N). Limiting factors: deployments that do NOT use libslirp networking (e.g. bridged/macvlan/kernel-based VM networking, or CNI-based pod networking that does not route through libslirp) are not exposed via this path; and because the bug is a heap over-read, the attacker cannot choose which host memory is leaked, only that some adjacent host memory is disclosed. |
| Impact | This is a moderate-severity information-disclosure flaw whose risk is driven almost entirely by the virtualization boundary it crosses rather than by any evidence of exploitation. The CVSS 3.1 vector (AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N = 7.4) is internally consistent with the description: a guest or container (the 'adjacent' network position) can send a truncated/malformed packet with no host-side privileges or user interaction, and the scope change (S:C) reflects that leaked host-process memory crosses from the host's libslirp process into the guest/container. There is no KEV listing, no EPSS score, and no POC supplied in the input - the only third reference is the upstream libslirp FIX commit (21b33a6c) on freedesktop GitLab, not exploit code - so exploitation status is 'no public exploit identified at time of analysis.' The vuln.today decision label is 'this_week' (priority but not act_now/emergency), which aligns with a serious-but-not-actively-exploited info-leak: real priority for multi-tenant virtualization/container hosts, but not an emergency. One signal to note: impact is confined to confidentiality (C:H, I:N, A:N) and the leak is a heap over-read, so the data returned is unpredictable and not attacker-chosen - this is a memory-disclosure primitive, not code execution, which tempers the real-world severity relative to the 7.4 number. |
| Exploit ScenarioDerived | An attacker who controls a guest VM or container that uses libslirp user-mode networking (for example QEMU user networking or rootless Podman's default slirp networking) sends a crafted, truncated IPv4 packet that triggers an ICMP error response. Because icmp_forward_error() trusts the IP header's total-length field without clamping it to the actual buffer size, libslirp over-reads adjacent host heap memory and copies it into the quoted-packet portion of the ICMP error returned to the guest, leaking host process memory across the virtualization boundary. No public exploit was identified at time of analysis, only the upstream fix commit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
An out-of-bounds heap read in libslirp's icmp_forward_error() causes host memory to be copied into the ICMP error reply that libslirp sends back to a guest VM or container, disclosing adjacent heap contents across the virtualization boundary. Affected deployments are those using libslirp as their network backend - QEMU user-mode ('slirp') networking and rootless Podman's slirp4netns/slirp4netns-style networking - with packaged builds tracked for Red Hat Enterprise Linux 8, 9 and 10 and Red Hat OpenShift Container Platform 4 and 5. The flaw is scored 7.4 (CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N) with confidentiality-only impact; no public exploit identified at time of analysis, and exploitation requires an attacker who already controls a guest or container on the emulated network and can emit traffic that drives libslirp down the ICMP error path.
RemediationAI
Apply the libslirp update from your distribution once published: the upstream fix is commit 21b33a6c5588af9f58d15e528fdc1019452708e4 (https://gitlab.freedesktop.org/slirp/libslirp/-/commit/21b33a6c5588af9f58d15e528fdc1019452708e4), which clamps the quoted-packet length to the actual buffer, and Red Hat errata status per branch is tracked at https://access.redhat.com/security/cve/CVE-2026-120830 and https://bugzilla.redhat.com/show_bug.cgi?id=2565424 - note that the data provided lists the upstream commit but no tagged release or per-branch fixed version, so confirm the exact errata version for RHEL 8, 9, 10 and OpenShift Container Platform 4/5 there before recording a fix. Where an update cannot be applied immediately, the exposure is bounded by the network backend in use: deployments that do not route workload traffic through libslirp - bridged, macvlan or tap/kernel-based VM networking, and CNI-based pod networking - are not reachable through icmp_forward_error(), so switching affected guests or rootless containers to those backends removes the path, at the cost of losing the unprivileged, NAT-style connectivity that user-mode slirp and slirp4netns provide (bridged/macvlan setups typically need host network privileges and additional address management). As a lower-cost interim measure, restrict which guests or containers can emit arbitrary raw IPv4 traffic onto the slirp network so that malformed packets cannot reach the ICMP error generation path; this reduces but does not eliminate the attack surface, since any workload able to send crafted IP packets on that segment still triggers the over-read, and it does not remediate the underlying out-of-bounds read.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
libslirp is a small userspace TCP/IP stack that implements NAT-style networking for virtual machines and containers: QEMU links it for user-mode ('slirp') networking, and slirp4netns uses it to give rootless containers network access without host privileges. Because libslirp itself synthesises ICMP error responses on behalf of the emulated network, it builds a reply that quotes the beginning of the offending original IPv4 datagram. The code path icmp_forward_error() took the quoted-packet length from a field in the IPv4 header and used it to size a copy without clamping that value to the length of the buffer actually received (CWE-125, out-of-bounds read). A truncated or malformed packet therefore makes libslirp read past the end of its heap buffer and place the over-read bytes into the ICMP error message delivered back to the sender. The CVSS scope change (S:C) reflects that the boundary crossed is the guest/container-to-host one: an unprivileged participant on the emulated network gains a view of host process memory. The disclosure is opportunistic - the attacker can trigger the over-read but cannot select which adjacent heap bytes are returned - so in practice repeated malformed packets are needed to sample memory; the sources do not describe further details of how the length field must be crafted beyond a truncated or malformed packet. Note that the CPE entries identify the affected distribution channels (RHEL 8, 9, 10 and OpenShift Container Platform 4 and 5) rather than separate vulnerable codebases: the exposure follows from whichever of those products ship a libslirp build, and from whether workloads actually use libslirp networking.
Know when Libslirp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
A guest/container on the libslirp network (AV:A) with no privileges or interaction triggers an OOB read that leaks host memory across the VM/container boundary (S:C, C:H); no integrity or availability impact is described.
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
DescriptionCVE.org
A flaw was found in libslirp in icmp_forward_error(). When building an ICMP error response, the length of the quoted original IPv4 packet was taken from the IP header without clamping it to the actual buffer length. A truncated or malformed packet could cause an out-of-bounds heap read, leaking host memory into the ICMP error packet returned to a guest or container.
Executive ViewAI
CVE-2026-120830, a high-severity heap out-of-bounds read in libslirp, exposes host memory contents to any attacker with control of a guest VM or container on an emulated network. The flaw affects QEMU user-mode networking and rootless Podman (slirp4netns) across Red Hat Enterprise Linux 8, 9, 10 and OpenShift 4 and 5. Leadership should prioritize patching because this cross-boundary data leak can undermine the isolation guarantees of virtualization and container platforms, potentially exposing sensitive host data to malicious tenants.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict network access to/from guests and containers, disable ICMP error forwarding if supported, and switch to a different trusted network backend (e.g., macvtap or bridged networking) where feasible.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)CVE.org
Related Vulnerabilities in libslirp Memory Safety Vulnerabilities
View all 2A use after free vulnerability in ip_reass() in ip_input.c of libslirp 4.2.0 and prior releases allows crafted packets t
ip_reass in ip_input.c in libslirp 4.0.0 has a heap-based buffer overflow via a large packet because it mishandles a cas
slirp.c in libslirp through 4.3.1 has a buffer over-read because it tries to read a certain amount of header data even i
tftp.c in libslirp 4.1.0, as used in QEMU 4.2.0, does not prevent ..\ directory traversal on Windows. Rated high severit
libslirp 4.0.0, as used in QEMU 4.1.0, has a use-after-free in ip_reass in ip_input.c. Rated high severity (CVSS 7.5), t
Out-of-bounds heap read and integer underflow in libslirp's TCP urgent data handler (sosendoob) exposes gigabytes of hos
An out-of-bounds read vulnerability was found in the SLiRP networking implementation of the QEMU emulator. Rated medium
In libslirp 4.1.0, as used in QEMU 4.2.0, tcp_subr.c misuses snprintf return values, leading to a buffer overflow in lat
tcp_emu in tcp_subr.c in libslirp 4.1.0, as used in QEMU 4.2.0, mismanages memory, as demonstrated by IRC DCC commands i
ncsi.c in libslirp through 4.3.1 has a buffer over-read because it tries to read a certain amount of header data even if
An invalid pointer initialization issue was found in the SLiRP networking implementation of QEMU. Rated low severity (CV
EUVD-2026-115651
GHSA-r5f9-pc8m-f599
NVD
CVE.org
EPSS
VulDB
Exploit-DB