Executive brief
libsoup is a widely used networking library that allows applications to communicate over the internet. A flaw in how it handles specific types of web server responses could allow a malicious server to crash an application or potentially steal small amounts of sensitive information from the computer's memory. This affects any software using libsoup to process multipart HTTP data, such as certain web browsers or system utilities.
Technical details
An unsigned integer underflow exists in the `soup_filter_input_stream_read_until()` function within `libsoup/soup-filter-input-stream.c`. When the `include_boundary` parameter is set to FALSE and the internal buffer contains fewer bytes than the boundary string length, a subtraction operation wraps to a large value. This causes the boundary scan loop to perform an out-of-bounds read (CWE-125) on the heap. A malicious HTTP server can exploit this by sending a crafted multipart response to a client using `SoupMultipartInputStream`. The vulnerability can result in a Denial of Service (crash) or the disclosure of sensitive heap memory.
Affected products
- Red Hat libsoup3 Red Hat Enterprise Linux 10
- Red Hat libsoup Red Hat Enterprise Linux 6, 7, 8, 9
- GNOME libsoup
Timeline
- 2026-07-24: disclosed: Initial report via Red Hat Bugzilla and NVD publication