Fedora Account System
Red Hat Associate
Red Hat Customer
A flaw was found in libslirp in if_output() in src/if.c. When demoting an interactive session from the fast queue to the batch queue after throughput limits were exceeded, the code called slirp_remque() and slirp_insque() on ifm->m_nextpkt (an arbitrary packet in the circular session list) instead of the session queue head. This corrupted doubly-linked queue pointers. Subsequent traversals in if_start() could crash the host process that embeds libslirp (for example QEMU or slirp4netns), resulting in a guest-to-host denial of service.