Bug 2528425 (CVE-2026-85197) - CVE-2026-85197 libsoup: libsoup: Heap use-after-free in libsoup HTTP/2 client on_data_read() via GOAWAY during body upload
Summary: CVE-2026-85197 libsoup: libsoup: Heap use-after-free in libsoup HTTP/2 client...
Keywords:
Status: NEW
Alias: CVE-2026-85197
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On: 2528508
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-04 07:19 UTC by OSIDB Bzimport
Modified: 2026-09-04 14:24 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-04 07:19:37 UTC
A heap use-after-free vulnerability exists in libsoup's HTTP/2 client implementation. When a GNOME application sends an HTTP/2 POST request with a file body (using a non-pollable GInputStream such as GFileInputStream), the body data is read asynchronously via g_input_stream_read_async(). If the remote HTTP/2 server sends a GOAWAY frame while this async read is pending, the SoupHTTP2MessageDatastructure is freed through the shutdown path, but the async read callback on_data_read() still fires afterward, accessing the freed heap memory.

This is a remotely-triggerable heap use-after-free — a malicious HTTP/2 server (or MITM attacker) can deterministically trigger it when any GNOME application uploads a file over HTTPS with HTTP/2. Affected applications include GNOME Web (Epiphany), GNOME Software, Flatpak, and any GLib-based application using SoupSession for HTTP/2 file uploads.

Impact type: Heap use-after-free (CWE-416) — the freed 168-byte SoupHTTP2MessageData struct is read after free, and the freed data_source_buffer may also be written to by the still-pending async I/O operation. This constitutes memory corruption with potential for information disclosure or code execution.


Note You need to log in before you can comment on or make changes to this bug.