CVE-2024-52530
NoneCVSS
—
EPSS
0.8%
Published
Nov 11, 2024
CISA due date
—
Cloudanix analysis
A bug in a widely used web library can let attackers slip extra requests past security checks in certain web applications.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Allows HTTP request smuggling because null characters appended to header names are ignored during parsing, causing headers such as Transfer-Encoding\0 to be treated as valid Transfer-Encoding directives.
Why it matters to the business
Web applications and services relying on vulnerable versions of the library may experience bypassed security controls, cache poisoning, or unauthorized request manipulation that can expose data or disrupt operations.
How an attack unfolds
An attacker sends a crafted HTTP/1.1 request containing a header name terminated by a null byte (for example Transfer-Encoding\0: chunked) to a service using the affected library; the library accepts the header and processes the request as chunked, allowing subsequent smuggled requests to be interpreted separately by backend systems.
How to fix it
Upgrade to libsoup 3.6.0 or later; apply the patch from commit 3f03218b39306870af8b7331bd2e4c18ad4ce4d0 in source builds.
How to confirm the fix worked
Confirm the running version reports 3.6.0 or newer; test header parsing with a null-terminated Transfer-Encoding header to verify the smuggling vector is closed.
Typical attack path
- Locate a target application or service that uses a vulnerable version of the library for HTTP handling
- Craft a request containing a header name ending in a null byte to trigger smuggling behavior
- Transmit the request to induce inconsistent parsing between frontend and backend components
- Leverage the smuggled requests to perform cache poisoning, access-control bypass, or other follow-on attacks
How to detect it
Search web server and application logs for HTTP headers containing embedded null bytes or unexpected chunked transfer encodings; correlate with anomalous request sequences that suggest smuggling.
What your security team should do
- Upgrade all instances of the library to the fixed release as soon as possible
- Audit configurations of HTTP clients, proxies, and servers that depend on the library
- Add defensive HTTP request validation at network boundaries until upgrades are complete
- Review downstream dependents for exposure and schedule coordinated updates
The record
GNOME libsoup before 3.6.0 allows HTTP request smuggling in some configurations because '\0' characters at the end of header names are ignored, i.e., a "Transfer-Encoding\0: chunked" header is treated the same as a "Transfer-Encoding: chunked" header.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | libsoup | 0 | 2.62.3-6.el8_10 |
| AlmaLinux:8 | libsoup-devel | 0 | 2.62.3-6.el8_10 |
| AlmaLinux:9 | libsoup | 0 | 2.72.0-8.el9_5.2 |
| AlmaLinux:9 | libsoup-devel | 0 | 2.72.0-8.el9_5.2 |
| Debian:11 | libsoup2.4 | 0 | No fix |
| Debian:11 | libsoup2.4 | 0 | 2.72.0-2+deb11u1 |
| Debian:12 | libsoup2.4 | 0 | No fix |
| Debian:12 | libsoup3 | 0 | No fix |
| Debian:13 | libsoup2.4 | 0 | No fix |
| Debian:13 | libsoup3 | 0 | 3.5.2-1 |
| Debian:14 | libsoup2.4 | 0 | 2.74.3-8.1 |
| Debian:14 | libsoup3 | 0 | 3.5.2-1 |
| Mageia:9 | libsoup | 0 | 2.74.3-1.1.mga9 |
| Mageia:9 | libsoup3 | 0 | 3.4.2-1.1.mga9 |
| Red Hat:enterprise_linux:8::appstream | libsoup | 0 | 0:2.62.3-6.el8_10 |
| Red Hat:enterprise_linux:8::appstream | libsoup-debuginfo | 0 | 0:2.62.3-6.el8_10 |
| Red Hat:enterprise_linux:8::appstream | libsoup-debugsource | 0 | 0:2.62.3-6.el8_10 |
| Red Hat:enterprise_linux:8::appstream | libsoup-devel | 0 | 0:2.62.3-6.el8_10 |
| Red Hat:enterprise_linux:8::baseos | libsoup | 0 | 0:2.62.3-6.el8_10 |
| Red Hat:enterprise_linux:8::baseos | libsoup-debuginfo | 0 | 0:2.62.3-6.el8_10 |
| Red Hat:enterprise_linux:8::baseos | libsoup-debugsource | 0 | 0:2.62.3-6.el8_10 |
| Red Hat:enterprise_linux:8::baseos | libsoup-devel | 0 | 0:2.62.3-6.el8_10 |
| Red Hat:enterprise_linux:9::appstream | libsoup | 0 | 0:2.72.0-8.el9_5.2 |
| Red Hat:enterprise_linux:9::appstream | libsoup-debuginfo | 0 | 0:2.72.0-8.el9_5.2 |
| Red Hat:enterprise_linux:9::appstream | libsoup-debugsource | 0 | 0:2.72.0-8.el9_5.2 |
| Red Hat:enterprise_linux:9::appstream | libsoup-devel | 0 | 0:2.72.0-8.el9_5.2 |
| Red Hat:rhel_aus:8.2::appstream | libsoup | 0 | 0:2.62.3-1.el8_2.1 |
| Red Hat:rhel_aus:8.2::appstream | libsoup-debuginfo | 0 | 0:2.62.3-1.el8_2.1 |
| Red Hat:rhel_aus:8.2::appstream | libsoup-debugsource | 0 | 0:2.62.3-1.el8_2.1 |
| Red Hat:rhel_aus:8.2::appstream | libsoup-devel | 0 | 0:2.62.3-1.el8_2.1 |
| Red Hat:rhel_aus:8.2::baseos | libsoup | 0 | 0:2.62.3-1.el8_2.1 |
| Red Hat:rhel_aus:8.2::baseos | libsoup-debuginfo | 0 | 0:2.62.3-1.el8_2.1 |
| Red Hat:rhel_aus:8.2::baseos | libsoup-debugsource | 0 | 0:2.62.3-1.el8_2.1 |
| Red Hat:rhel_aus:8.2::baseos | libsoup-devel | 0 | 0:2.62.3-1.el8_2.1 |
| Red Hat:rhel_aus:8.4::appstream | libsoup | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_aus:8.4::appstream | libsoup-debuginfo | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_aus:8.4::appstream | libsoup-debugsource | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_aus:8.4::appstream | libsoup-devel | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_aus:8.4::baseos | libsoup | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_aus:8.4::baseos | libsoup-debuginfo | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_aus:8.4::baseos | libsoup-debugsource | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_aus:8.4::baseos | libsoup-devel | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_aus:8.6::appstream | libsoup | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_aus:8.6::appstream | libsoup-debuginfo | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_aus:8.6::appstream | libsoup-debugsource | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_aus:8.6::appstream | libsoup-devel | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_aus:8.6::baseos | libsoup | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_aus:8.6::baseos | libsoup-debuginfo | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_aus:8.6::baseos | libsoup-debugsource | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_aus:8.6::baseos | libsoup-devel | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_e4s:8.4::appstream | libsoup | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_e4s:8.4::appstream | libsoup-debuginfo | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_e4s:8.4::appstream | libsoup-debugsource | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_e4s:8.4::appstream | libsoup-devel | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_e4s:8.4::baseos | libsoup | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_e4s:8.4::baseos | libsoup-debuginfo | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_e4s:8.4::baseos | libsoup-debugsource | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_e4s:8.4::baseos | libsoup-devel | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_e4s:8.6::appstream | libsoup | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_e4s:8.6::appstream | libsoup-debuginfo | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_e4s:8.6::appstream | libsoup-debugsource | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_e4s:8.6::appstream | libsoup-devel | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_e4s:8.6::baseos | libsoup | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_e4s:8.6::baseos | libsoup-debuginfo | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_e4s:8.6::baseos | libsoup-debugsource | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_e4s:8.6::baseos | libsoup-devel | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_e4s:9.0::appstream | libsoup | 0 | 0:2.72.0-8.el9_0.1 |
| Red Hat:rhel_e4s:9.0::appstream | libsoup-debuginfo | 0 | 0:2.72.0-8.el9_0.1 |
| Red Hat:rhel_e4s:9.0::appstream | libsoup-debugsource | 0 | 0:2.72.0-8.el9_0.1 |
| Red Hat:rhel_e4s:9.0::appstream | libsoup-devel | 0 | 0:2.72.0-8.el9_0.1 |
| Red Hat:rhel_els:7 | libsoup | 0 | 0:2.62.2-3.el7_9 |
| Red Hat:rhel_els:7 | libsoup-debuginfo | 0 | 0:2.62.2-3.el7_9 |
| Red Hat:rhel_els:7 | libsoup-devel | 0 | 0:2.62.2-3.el7_9 |
| Red Hat:rhel_eus:8.8::appstream | libsoup | 0 | 0:2.62.3-3.el8_8.1 |
| Red Hat:rhel_eus:8.8::appstream | libsoup-debuginfo | 0 | 0:2.62.3-3.el8_8.1 |
| Red Hat:rhel_eus:8.8::appstream | libsoup-debugsource | 0 | 0:2.62.3-3.el8_8.1 |
| Red Hat:rhel_eus:8.8::appstream | libsoup-devel | 0 | 0:2.62.3-3.el8_8.1 |
| Red Hat:rhel_eus:8.8::baseos | libsoup | 0 | 0:2.62.3-3.el8_8.1 |
| Red Hat:rhel_eus:8.8::baseos | libsoup-debuginfo | 0 | 0:2.62.3-3.el8_8.1 |
| Red Hat:rhel_eus:8.8::baseos | libsoup-debugsource | 0 | 0:2.62.3-3.el8_8.1 |
| Red Hat:rhel_eus:8.8::baseos | libsoup-devel | 0 | 0:2.62.3-3.el8_8.1 |
| Red Hat:rhel_eus:9.2::appstream | libsoup | 0 | 0:2.72.0-8.el9_2.1 |
| Red Hat:rhel_eus:9.2::appstream | libsoup-debuginfo | 0 | 0:2.72.0-8.el9_2.1 |
| Red Hat:rhel_eus:9.2::appstream | libsoup-debugsource | 0 | 0:2.72.0-8.el9_2.1 |
| Red Hat:rhel_eus:9.2::appstream | libsoup-devel | 0 | 0:2.72.0-8.el9_2.1 |
| Red Hat:rhel_eus:9.4::appstream | libsoup | 0 | 0:2.72.0-8.el9_4.1 |
| Red Hat:rhel_eus:9.4::appstream | libsoup-debuginfo | 0 | 0:2.72.0-8.el9_4.1 |
| Red Hat:rhel_eus:9.4::appstream | libsoup-debugsource | 0 | 0:2.72.0-8.el9_4.1 |
| Red Hat:rhel_eus:9.4::appstream | libsoup-devel | 0 | 0:2.72.0-8.el9_4.1 |
| Red Hat:rhel_tus:8.4::appstream | libsoup | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_tus:8.4::appstream | libsoup-debuginfo | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_tus:8.4::appstream | libsoup-debugsource | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_tus:8.4::appstream | libsoup-devel | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_tus:8.4::baseos | libsoup | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_tus:8.4::baseos | libsoup-debuginfo | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_tus:8.4::baseos | libsoup-debugsource | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_tus:8.4::baseos | libsoup-devel | 0 | 0:2.62.3-2.el8_4.1 |
| Red Hat:rhel_tus:8.6::appstream | libsoup | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_tus:8.6::appstream | libsoup-debuginfo | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_tus:8.6::appstream | libsoup-debugsource | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_tus:8.6::appstream | libsoup-devel | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_tus:8.6::baseos | libsoup | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_tus:8.6::baseos | libsoup-debuginfo | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_tus:8.6::baseos | libsoup-debugsource | 0 | 0:2.62.3-2.el8_6.1 |
| Red Hat:rhel_tus:8.6::baseos | libsoup-devel | 0 | 0:2.62.3-2.el8_6.1 |
| Rocky Linux:8 | libsoup | 0 | 0:2.62.3-6.el8_10 |
| Rocky Linux:9 | libsoup | 0 | 0:2.72.0-8.el9_5.2 |
| SUSE:Enterprise Storage 7.1 | libsoup | 0 | 2.68.4-150200.4.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | libsoup | 0 | 2.68.4-150200.4.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | libsoup | 0 | 2.68.4-150200.4.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | libsoup | 0 | 3.0.4-150400.3.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | libsoup2 | 0 | 2.74.2-150400.3.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | libsoup | 0 | 3.0.4-150400.3.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | libsoup2 | 0 | 2.74.2-150400.3.3.1 |
| SUSE:Linux Enterprise Micro 5.2 | libsoup | 0 | 2.68.4-150200.4.3.1 |
| SUSE:Linux Enterprise Micro 5.3 | libsoup2 | 0 | 2.74.2-150400.3.3.1 |
| SUSE:Linux Enterprise Micro 5.4 | libsoup2 | 0 | 2.74.2-150400.3.3.1 |
| SUSE:Linux Enterprise Micro 5.5 | libsoup2 | 0 | 2.74.2-150400.3.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | libsoup | 0 | 3.0.4-150400.3.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | libsoup2 | 0 | 2.74.2-150400.3.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | libsoup | 0 | 3.4.4-150600.3.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | libsoup2 | 0 | 2.74.3-150600.4.3.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | libsoup | 0 | 2.62.2-5.12.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | libsoup | 0 | 2.68.4-150200.4.3.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | libsoup | 0 | 2.68.4-150200.4.3.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | libsoup | 0 | 3.0.4-150400.3.3.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | libsoup2 | 0 | 2.74.2-150400.3.3.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | libsoup | 0 | 2.62.2-5.12.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | libsoup | 0 | 2.68.4-150200.4.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | libsoup | 0 | 2.68.4-150200.4.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | libsoup | 0 | 3.0.4-150400.3.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | libsoup2 | 0 | 2.74.2-150400.3.3.1 |
| SUSE:Manager Proxy 4.3 | libsoup | 0 | 3.0.4-150400.3.3.1 |
| SUSE:Manager Proxy 4.3 | libsoup2 | 0 | 2.74.2-150400.3.3.1 |
| SUSE:Manager Server 4.3 | libsoup | 0 | 3.0.4-150400.3.3.1 |
| SUSE:Manager Server 4.3 | libsoup2 | 0 | 2.74.2-150400.3.3.1 |
| Ubuntu:20.04:LTS | libsoup2.4 | 0 | 2.70.0-1ubuntu0.1 |
| Ubuntu:22.04:LTS | libsoup2.4 | 0 | 2.74.2-3ubuntu0.1 |
| Ubuntu:22.04:LTS | libsoup3 | 0 | No fix |
| Ubuntu:24.04:LTS | libsoup2.4 | 0 | 2.74.3-6ubuntu1.1 |
| Ubuntu:24.04:LTS | libsoup3 | 0 | 3.4.4-5ubuntu0.1 |
| Ubuntu:24.10 | libsoup2.4 | 0 | 2.74.3-7ubuntu0.1 |
| Ubuntu:24.10 | libsoup3 | 0 | 3.5.2-1 |
| Ubuntu:24.10 | libsoup3 | 0 | 3.6.0-2ubuntu0.1 |
| Ubuntu:25.04 | libsoup2.4 | 0 | 2.74.3-8ubuntu1 |
| Ubuntu:Pro:16.04:LTS | libsoup2.4 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | libsoup2.4 | 0 | 2.62.1-1ubuntu0.4+esm1 |
| Ubuntu:Pro:22.04:LTS | libsoup3 | 0 | 3.0.7-0ubuntu1+esm1 |
| openSUSE:Leap 15.5 | libsoup | 0 | 3.0.4-150400.3.3.1 |
| openSUSE:Leap 15.5 | libsoup2 | 0 | 2.74.2-150400.3.3.1 |
| openSUSE:Leap 15.6 | libsoup | 0 | 3.4.4-150600.3.3.1 |
| openSUSE:Leap 15.6 | libsoup2 | 0 | 2.74.3-150600.4.3.1 |
| openSUSE:Leap Micro 5.5 | libsoup2 | 0 | 2.74.2-150400.3.3.1 |
| openSUSE:Tumbleweed | libsoup2 | 0 | 2.74.3-4.1 |
Related vulnerabilities
- CVE-2024-52531 GNOME libsoup before 3.6.1 allows a buffer overflow in applications that perform… Also affects libsoup
- CVE-2024-52532 GNOME libsoup before 3.6.1 has an infinite loop, and memory consumption. Also affects libsoup
- CVE-2019-8835 Multiple memory corruption issues were addressed with improved memory handling. Also affects libsoup
- CVE-2020-9862 A command injection issue existed in Web Inspector. Also affects libsoup
- CVE-2020-9850 A logic issue was addressed with improved restrictions. Also affects libsoup
- CVE-2020-11793 A use-after-free issue exists in WebKitGTK before 2.28.1 and WPE WebKit before 2.28.1 via… Also affects libsoup
- CVE-2020-3899 A memory consumption issue was addressed with improved memory handling. Also affects libsoup
- CVE-2020-10018 WebKitGTK through 2.26.4 and WPE WebKit through 2.26.4 (which are the versions right… Also affects libsoup