CVE-2026-15714: Libsoup: soupmultipartinputstream: libsoup: out-of-bounds read in soup_multipart_input_stream_read_headers via an oversized multipart boundary string
An out-of-bounds read vulnerability was found in libsoup's multipart processing subsystem. The flaw exists in the soupmultipartinputstreamreadheaders() function inside soup-multipart-input-stream.c, which does not adequately restrict or validate the size of incoming multipart boundary strings. When processing a crafted HTTP response containing a malformed or oversized boundary parameter, the internal stream reader reads past the allocated buffer bounds. A remote, unauthenticated attacker can exploit this behavior to cause a service denial (DoS) through application failure or potentially read fragments of unauthorized memory metadata.
Other sources
Vulnerability Reference:
An out-of-bounds (OOB) read flaw was discovered in libsoup's multipart input streaming parser, allowing a remote attacker to trigger a crash or potentially expose sensitive memory contents.
Component / Vulnerable Part:
libsoup -> Multipart handling engine (libsoup/soup-multipart-input-stream.c -> soupmultipartinputstreamreadheaders())
Technical Analysis & Root Cause:
When an application utilizing a SoupSession parses a multipart MIME message response, it invokes soupmultipartinputstreamreadheaders() to extract contextual block structures. A validation vulnerability exists where the logic fails to enforce strict length limits on the incoming boundary string delimiter. If a malicious remote endpoint supplies an exceptionally large multipart boundary string, the internal memory pointer indexing calculations drift past the expected buffer boundaries, triggering an out-of-bounds read operation on the heap or stack layout.
Impact:
A remote, unauthenticated attacker serving a malformed multipart HTTP payload can cause the application process to terminate unexpectedly (Denial of Service) via a segmentation fault or glean layout information from adjacent memory locations.
— Red Hat
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-15714?
CVE-2026-15714 has a medium severity score of 6.5.
What is the risk associated with CVE-2026-15714?
CVE-2026-15714 has a risk rating of 40, indicating a moderate level of concern.
How do I fix CVE-2026-15714?
To fix CVE-2026-15714, ensure you are using the latest version of libsoup that addresses the vulnerability.
What kind of vulnerability is CVE-2026-15714?
CVE-2026-15714 is an out-of-bounds read vulnerability related to improper handling of oversized multipart boundary strings.
In which function is CVE-2026-15714 located?
CVE-2026-15714 is located in the soup_multipart_input_stream_read_headers() function within the libsoup library.