REDHAT-BUG-2558916: Low severity libslirp libslirp vulnerability

Published Oct 22, 2026
·
Updated

A flaw was found in libslirp's ICMP echo request handling. In the function icmpreceive() in src/ipicmp.c, after receiving an ICMP reply via recv(), the mbuf length (mlen) and IP header length (iplen) are not updated to reflect the actual number of bytes received. They retain the original echo request size.

When the SOCKDGRAM ICMP socket is unavailable (pinggrouprange restricted) and slirp falls back to a SOCKRAW socket, recv() can deliver ICMP error messages (such as Host Unreachable) instead of echo replies. These messages are shorter and contain an inner IP header with the host's real network address. The memmove path processes this data, and the stale mlen causes the inner IP header (including the host's real IP) to be included in the echo reply sent back to the guest. This breaks the NAT isolation that slirp user-mode networking provides.

The attack requires the guest to ping a nonexistent host on the hypervisor's local network while SOCKDGRAM ICMP is restricted (which forces the raw socket fallback). No authentication or special privileges are needed on the guest side.

The leaked information is the host's real IP address (4 bytes of network metadata), not arbitrary host heap memory as originally reported.

Upstream fix: https://gitlab.freedesktop.org/slirp/libslirp/-/commit/262c9be27bc79e16b369807b460be77e23c3d788 Upstream issue: https://gitlab.freedesktop.org/slirp/libslirp/-/workitems/105

Reported by: Piyusha Akash (manifoldoperations) via PSIRTSUPT-26209

Affected Software

1 affected component
libslirp libslirp

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Patch 262c9be27bc79e16b369807b460be77e23c3d788

Event History

Oct 22, 2026
Data Sourced
via Red Hat·12:58 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Which environments are exposed to this issue?

Exposure requires libslirp to fall back from a SOCK_DGRAM ICMP socket to a SOCK_RAW socket because ping_group_range restricts the datagram socket. The guest must also be able to send a ping to a nonexistent host on the hypervisor's local network.

2

What access does an attacker need to trigger the information leak?

No authentication or special privileges are required on the guest side. An attacker needs the ability to cause the guest to ping a nonexistent host on the hypervisor's local network while the raw-socket fallback is active.

3

What information can be disclosed?

The issue can disclose the host's real IP address from an inner IP header in an ICMP error message. The disclosed data is limited to four bytes of network metadata and is not arbitrary host memory.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203