Skip to main content

libsoup CVE-2026-12478

| EUVDEUVD-2026-43651 MEDIUM
Out-of-bounds Read (CWE-125)
2026-07-14 redhat GHSA-6jpc-6452-qwq2
4.8
CVSS 3.1 · Vendor: redhat
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker controls or MITMs WebSocket server
  2. Delivery
    Victim client (libsoup, max_incoming_payload_size=0) connects
  3. Exploit
    Server sends unmasked frame with length near UINT64_MAX
  4. Execution
    Overflow guard bypassed on unmasked code path
  5. Persist
    Integer wraparound corrupts buffer length calculation
  6. Impact
    OOB read yields memory disclosure or crash

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires ALL of the following: (1) the target application uses libsoup for WebSocket client connectivity; (2) the application sets max_incoming_payload_size to exactly 0 - this is an explicit developer choice, not the default behavior, as 0 signals 'no limit'; (3) the client connects to a server under attacker control, or the connection is subject to a man-in-the-middle attack enabling frame injection. Limiting factors: applications using a non-zero max_incoming_payload_size are not exploitable via this path; server-side libsoup deployments are unaffected since the overflow concerns client-side frame reception; and libsoup versions not incorporating the CVE-2026-0716 patch (commit 6ff7ef0) carry a different overflow condition rather than this specific regression.

Impact

The CVSS 3.1 base score of 4.8 (Medium) is consistent with the realistic threat model. AV:N reflects that exploitation is remote - the attack originates from a WebSocket server the client connects to - but AC:H correctly captures that two compounding preconditions must align: the target application must have max_incoming_payload_size explicitly set to 0, and the attacker must control or compromise the server endpoint the client trusts. PR:N is accurate because from the attacker's perspective (operating the server), no credentials are needed. EPSS data was not provided in the input. No CISA KEV listing and no confirmed POC exist, making this a watch-and-patch item rather than an emergency. The dual impact - C:L (potential memory disclosure via OOB read) and A:L (potential crash) - is modest. The primary real-world risk is targeted exploitation against known applications that set max_incoming_payload_size=0, which is a non-default, intentional configuration. The regression nature of this flaw (introduced by an incomplete patch) increases confidence that a precise, weaponizable trigger exists, but no exploit has been publicly released.

Exploit ScenarioDerived

An attacker operating or compromising a WebSocket server sends a crafted unmasked frame with a payload-length field set to a value near UINT64_MAX. A libsoup-based client application configured with max_incoming_payload_size=0 processes this frame, bypasses the integer overflow guard (which only runs on the masked path), and performs arithmetic that wraps around, directing reads into out-of-bounds memory - potentially leaking heap contents or crashing the client process. No public POC has been confirmed, but the regression is mechanically precise and a proof of concept would be straightforward for a researcher familiar with the original CVE-2026-0716 patch.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 14, 2026

Out-of-bounds read in libsoup 3.6.6 exposes WebSocket clients to memory disclosure and crashes when connecting to malicious servers. The incomplete fix for CVE-2026-0716 (commit 6ff7ef0) placed the integer overflow guard exclusively inside the masked-frame branch, leaving the unmasked server-to-client frame path entirely unprotected - allowing a crafted payload length near UINT64_MAX to bypass the guard entirely. No public exploit code or active exploitation (CISA KEV) has been identified, but the CVSS AC:H rating reflects the non-trivial preconditions: a specific client configuration and attacker-controlled server are both required.

RemediationAI

The upstream fix is available as libsoup GitLab merge request 518 at https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/518; however, a released tagged version incorporating this fix has not been independently confirmed from the available data - treat this as an upstream fix available via PR/commit rather than a shipped patched release. Distributions packaging libsoup should monitor for a point release that includes MR 518 and apply it promptly. The Red Hat advisory is tracked at https://access.redhat.com/security/cve/CVE-2026-12478 and Bugzilla entry 2489655. As a compensating control, applications consuming libsoup over WebSocket should avoid setting max_incoming_payload_size to 0 and instead configure an explicit upper bound, which prevents the overflow condition from being reachable regardless of server input. This control has the trade-off of rejecting legitimately large frames and may break applications designed to handle unbounded message sizes.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

libsoup is GNOME's HTTP and WebSocket networking library, widely used by GTK/GNOME applications on Linux. The WebSocket protocol (RFC 6455) specifies that server-to-client frames must be unmasked, while client-to-server frames must be masked. The patch for CVE-2026-0716 introduced an integer overflow guard intended to prevent unsafe arithmetic on large payload-length fields, but the guard was conditionally scoped to the if (masked) branch. Because server frames are always unmasked, the guard is never reached for server-to-client traffic. CWE-125 (Out-of-bounds Read) describes the resulting condition: when max_incoming_payload_size is 0 (signaling no enforced limit), arithmetic on a near-UINT64_MAX payload length overflows, causing the parser to read beyond the allocated buffer. The CPE data ties this to Red Hat Enterprise Linux 10, and the upstream fix is tracked at GitLab MR 518 against the GNOME/libsoup repository.

Know when Red Hat Enterprise Linux 10 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (redhat) PRIMARY 4.8 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L
vuln.today AI 4.8 MEDIUM

Network vector (attacker is the server); AC:H for dual precondition of max_incoming_payload_size=0 and attacker-controlled endpoint; no auth required from attacker's server role; OOB read yields only limited memory disclosure and potential crash.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE MEDIUM
Red Hat 4.8 MEDIUM

Primary rating from Vendor (redhat).

CVSS VectorVendor: redhat

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
Low

DescriptionCVE.org

The fix for CVE-2026-0716 (commit 6ff7ef0, libsoup 3.6.6) placed the integer overflow guard inside the if (masked) block, leaving unmasked server-to-client frames unprotected. A malicious WebSocket server can send a crafted unmasked frame with a payload length near UINT64_MAX to trigger an OOB read in a libsoup-based client when max_incoming_payload_size is set to 0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Medium
GNOME HTTP/WebSocket library used widely across Linux desktop apps
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)CVE.org

cpe:2.3:a:red_hat:red_hat_enterprise_linux_10:*:*:*:*:*:*:*:*
CVE-2026-18663 MEDIUM
5.9 Aug 12

Heap corruption via double-free in 389-ds-base's LDAP control parsing allows an unauthenticated remote attacker to crash

CVE-2026-4631 CRITICAL POC
9.8 Apr 07

Remote code execution in Cockpit's web interface allows unauthenticated attackers to execute arbitrary commands on the h

CVE-2026-4480 CRITICAL POC
9.0 May 26

Remote code execution in Samba's printing subsystem allows remote attackers to inject arbitrary shell commands via craft

CVE-2026-101258 HIGH POC
7.8 Oct 06

Ghostscript can execute arbitrary shell commands with the privileges of its process when it renders a crafted PostScript

CVE-2026-96889 HIGH POC
7.8 Sep 23

Use-after-free in librsvg during rendering of crafted SVG documents with nested XInclude directives and duplicate entity

CVE-2026-4775 HIGH POC
7.8 Mar 24

A signed integer overflow vulnerability exists in the libtiff library's putcontig8bitYCbCr44tile function that leads to

CVE-2026-114406 MEDIUM POC
6.8 Oct 21

The system CA trust store shipped in Red Hat's ca-certificates RPM packages includes eMudhra root authorities that signe

CVE-2026-18922 CRITICAL
9.8 Sep 07

Authentication bypass in 389 Directory Server (shipped as Red Hat Directory Server 11-13 and within RHEL 6-10) lets remo

CVE-2026-14544 CRITICAL
9.8 Jul 03

Remote code execution and privilege escalation in HPLIP (HP Linux Imaging and Printing) affects the hpcups print filter

CVE-2026-76578 CRITICAL
9.8 Sep 07

Unauthenticated privilege escalation in FreeIPA (Red Hat Identity Management) allows a remote attacker to gain genuine a

CVE-2026-102560 CRITICAL
9.8 Sep 29

A heap buffer overflow exists in libsoup's WebSocket permessage-deflate compression path: when a very large outbound mes

CVE-2026-5121 HIGH
7.5 Mar 30

Remote code execution in libarchive on 32-bit systems allows unauthenticated attackers to execute arbitrary code via spe

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy