Medium [CVE-2026-85534] Libsoup: libsoup: http/2 client crash in on_data_source_read_callback when settings initial_window_size shrinks during deferred body read
This medium-severity Red Hat Linux advisory covers CVE-2026-85534 affecting Red Hat Enterprise Linux 10, Red Hat package: libsoup3-devel, Red Hat package: libsoup3-doc.
Android app · Google Play
Monitor future Red Hat Linux CVEs from your phone.
Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 32 official vendor sources and 160+ reviewed platform categories.
Summary
A flaw was found in libsoup. When a client sends an HTTP/2 request body from a non-pollable input stream, the library can buffer more data than the current flow-control window later allows.
A malicious HTTP/2 server can shrink SETTINGS_INITIAL_WINDOW_SIZE while that buffered read is still in progress. The client then copies the full buffer into a smaller DATA callback without a runtime bounds check, which can abort the process or fail the HTTP/2 session.
A libsoup 3 HTTP/2 client can abort or drop the session when it uploads a request body from a non-pollable stream (for example GFileInputStream) to a malicious server that shrinks SETTINGS_INITIAL_WINDOW_SIZE during the deferred read. Red Hat builds keep GLib assertions enabled, so the usual result is a client process abort rather than memory corruption.
Exploitation requires the client to connect to an attacker-controlled HTTP/2 endpoint and use that request-body path. Version affected: libsoup >= 3.0.0 Red Hat severity: Moderate — CVSS 5.9 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H).
Weakness: CWE-617. Affected Red Hat products: Red Hat Enterprise Linux 10.
Red Hat does not currently list a fixing RHSA for this CVE.
Affected products named by the advisory: Red Hat package: libsoup3-devel; Red Hat package: libsoup3-doc; Red Hat package: libsoup3.src.
Affected versions
No affected-version range was extracted from the source record. The vendor advisory is authoritative — check it before change work.
Official advisory · high-confidence parse· fetched 1 hour ago·verify at source
Fixed versions
No fixed release is recorded yet. That does not prove no patch exists — confirm against the vendor advisory.
Official advisory · high-confidence parse· fetched 1 hour ago·verify at source
Mitigation checklist
- Do not HTTP/2-upload from non-pollable streams (e.g. GFileInputStream) to untrusted servers. soup_message_set_request_body_from_bytes() is the pollable path. Assertions abort instead of returning an oversized length; that is not a fix.
Official advisory · high-confidence parse· fetched 1 hour ago·verify at source
Discussion(0)
No comments yet. Share field notes, upgrade gotchas, or questions — verify against the vendor advisory before acting on community advice.
Sign in to join the discussion.