CVE-2026-3632: Libsoup: libsoup: http smuggling and server-side request forgery via malformed hostnames

Published Mar 6, 2026
·
Updated

A flaw was found in libsoup, a library used by applications to send network requests. This vulnerability occurs because libsoup does not properly validate hostnames, allowing special characters to be injected into HTTP headers. A remote attacker could exploit this to perform HTTP smuggling, where they can send hidden, malicious requests alongside legitimate ones. In certain situations, this could lead to Server-Side Request Forgery (SSRF), enabling an attacker to force the server to make unauthorized requests to other internal or external systems. The impact is low, as SoupServer is not actually used in internet infrastructure.

Other sources

When libsoup is used as a client to send a request (a message), soupmessagesetrequesthostfromuri() is eventually invoked by soupsessionsendqueueitem(). This function takes the host component from a GUri using gurigethost(), and inserts this literally as a Host header value. Because of Teams/Releng/security#193, this string may contain any character, even ones that are normally not part of a hostname, including \r and \n. Because of this, it is possible to insert CRLF tokens into the Host header value, effectively allowing the insertion of arbitrary headers, and even full requests. For example, take the following gio cat operation:

gio cat "http://a%0d%0a%0d%0aPOST%20%2ffoo%20HTTP%2f1.1%0d%0aHost%3a%20localhost%0d%0aA%3a%20.localhost:8080/a"

This results in the following data being sent to the HTTP server:

GET /a HTTP/1.1 Accept-Encoding: gzip, deflate User-Agent: gvfs/1.54.4 Accept-Language: en-us, en;q=0.9, en;q=0.8 Connection: Keep-Alive Host: [a

POST /foo HTTP/1.1 Host: localhost A: .localhost]:8080

Many HTTP servers will interpret this as two HTTP requests and process both, enabling an HTTP smuggling attack. We tested this to work with nginx for example:

172.17.0.1 - - [02/Dec/2025:14:55:38 +0000] "GET /a HTTP/1.1" 200 12128 "-" "gvfs/1.54.4" "-" 172.17.0.1 - - [02/Dec/2025:14:55:38 +0000] "POST /foo HTTP/1.1" 405 168 "-" "-" "-"

Such an attack only appears works on hosts which do not require DNS to be used to resolve the subdomain. Even a wildcard subdomain will not allow an attacker to perform this attack on arbitrary hosts, as the DNS resolving process will fail due to the invalid characters.

Impact This vulnerability causes a write-like operation (an HTTP POST request) to be performed in a context where this is not expected (a file read operation via GVfs). Hence, this can cause behavior which was not accounted for, with a security impact when the URL is attacker controlled. An example scenario is LibreOffice, which uses GIO and GVFs to read remote image paths which may be present in a document. So, opening LibreOffice on a malicious file could trigger this POST request. In situations where LibreOffice is executed on a headless server (e.g., via libreoffice-convert or similar software) to convert documents to PDF, the result is a Server-Side Request Forgery (SSRF) vulnerability with a fully controllable POST request. This can have a relatively high impact in certain web-applications.

Recommended solution Ensure that hostname components cannot contain invalid characters in the first place. Additionally, it may be beneficial to perform extra validation in libsoup on header values, whenever they are set.

Red Hat

Affected Software

7 affected components
libsoup/libsoup
Gnome libsoup
redhat Enterprise Linux=6.0
redhat Enterprise Linux=7.0
redhat Enterprise Linux=8.0
redhat Enterprise Linux=9.0
redhat Enterprise Linux=10.0

Event History

Mar 6, 2026
Data Sourced
via Red Hat·07:49 AM
DescriptionSeverityAffected Software
Mar 17, 2026
CVE Published
via MITRE·09:44 AM
Data Sourced
via MITRE·09:44 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·10:16 AM
DescriptionSeverityWeaknessAffected Software
Jul 29, 58194
Event
via FIRST·10:06 PM
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-3632?

CVE-2026-3632 has been rated as a medium severity vulnerability.

2

How do I fix CVE-2026-3632?

To fix CVE-2026-3632, update libsoup to the latest version that addresses the hostname validation issue.

3

What applications are affected by CVE-2026-3632?

CVE-2026-3632 affects applications using libsoup for handling network requests.

4

Can CVE-2026-3632 lead to further exploitation?

Yes, CVE-2026-3632 can lead to HTTP smuggling and server-side request forgery if exploited correctly.

5

What do I need to know about the impact of CVE-2026-3632?

The impact of CVE-2026-3632 includes potential exposure to unauthorized access and data manipulation.

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