CVE-2019-17266
Critical · 9.8CVSS
9.8
EPSS
2.8%
Published
Oct 6, 2019
CISA due date
—
Cloudanix analysis
A flaw in a common web communication library can let attackers crash programs or steal internal data by sending specially crafted login challenge messages over the network.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Heap-based buffer over-read in soup_ntlm_parse_challenge() caused by missing length validation on NTLM messages before memcpy, allowing out-of-bounds memory access during NTLM authentication handling.
Why it matters to the business
Services using the affected library for HTTP requests with NTLM authentication may crash or leak sensitive memory contents to remote attackers, increasing risk of data exposure or denial of service in applications relying on this component.
How an attack unfolds
An attacker sends a crafted HTTP response containing a malformed NTLM challenge message with an incorrect length field to a target application using libsoup; the vulnerable parsing function performs an unchecked memcpy, resulting in a heap over-read that can disclose memory or cause a crash.
How to fix it
Upgrade libsoup to a version containing commit 88b7dff4467f4151afae244ea7d1223753cd05ab or later; rebuild and redeploy all dependent applications after updating the library.
How to confirm the fix worked
Verify the installed libsoup version is 2.68.1 or newer, or confirm the presence of the fix commit in the source; recompile test binaries against the updated library and exercise NTLM authentication paths with malformed challenges to ensure no over-read occurs.
Typical attack path
- Identify a target service or application that uses libsoup for outbound HTTP requests involving NTLM authentication.
- Craft a malicious HTTP response containing an NTLM challenge with a manipulated length field.
- Deliver the response to trigger soup_ntlm_parse_challenge() during authentication processing.
- Observe resulting memory disclosure or application crash to confirm successful exploitation.
How to detect it
Monitor application logs for segmentation faults or crashes during NTLM authentication handling; inspect network traffic for NTLM messages with anomalous length fields; review process dumps or memory logs for evidence of out-of-bounds reads triggered by soup-auth-ntlm.c.
What your security team should do
- Prioritize upgrade of libsoup across all builds and containers to the fixed commit version.
- Scan dependency manifests for any remaining versions between 2.65.1 and 2.68.0.
- Add runtime version checks or dependency pinning to prevent reintroduction of vulnerable releases.
- Review NTLM authentication usage and consider migrating to more modern authentication mechanisms where feasible.
The record
libsoup from versions 2.65.1 until 2.68.1 have a heap-based buffer over-read because soup_ntlm_parse_challenge() in soup-auth-ntlm.c does not properly check an NTLM message's length before proceeding with a memcpy.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | libsoup2.4 | 0 | 2.68.2-1 |
| Debian:12 | libsoup2.4 | 0 | 2.68.2-1 |
| Debian:13 | libsoup2.4 | 0 | 2.68.2-1 |
| Debian:14 | libsoup2.4 | 0 | 2.68.2-1 |
| Mageia:7 | libsoup | 0 | 2.66.1-2.1.mga7 |
| Ubuntu:18.04:LTS | libsoup2.4 | 0 | 2.62.1-1ubuntu0.4 |
Related vulnerabilities
- CVE-2024-52531 GNOME libsoup before 3.6.1 allows a buffer overflow in applications that perform… Also affects libsoup2.4
- CVE-2024-52532 GNOME libsoup before 3.6.1 has an infinite loop, and memory consumption. Also affects libsoup2.4
- CVE-2024-52530 GNOME libsoup before 3.6.0 allows HTTP request smuggling in some configurations because… Also affects libsoup2.4
- CVE-2026-92824 A flaw was found in libmodulemd. CWE-125
- CVE-2026-114038 A flaw was found in device-mapper-multipath. CWE-125
- CVE-2026-112896 Pillow is a Python imaging library. CWE-125
- CVE-2026-112278 rdesktop through 1.9.0 contains a heap out-of-bounds read vulnerability in… CWE-125
- CVE-2026-112273 libtins through 4.6 contains a heap out-of-bounds read vulnerability in DNS::compose_name… CWE-125