Bug 2543229 (CVE-2026-102556) - CVE-2026-102556 libsoup: libsoup: Heap buffer overflow from WebSocket Pong signal type confusion
Summary: CVE-2026-102556 libsoup: libsoup: Heap buffer overflow from WebSocket Pong si...
Keywords:
Status: NEW
Alias: CVE-2026-102556
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2543264 2543266 2543267
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-29 14:53 UTC by OSIDB Bzimport
Modified: 2026-09-29 15:57 UTC (History)
2 users (show)

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


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-29 14:53:18 UTC
A type-confusion heap overflow was found in libsoup's WebSocket Pong handling.

SoupWebsocketConnection::pong is declared to deliver a GBytes payload, but receive_pong() emitted a GByteArray pointer via g_signal_emit() and then unreffed the GByteArray. Handlers that treated the argument as GBytes (as documented) operated on the wrong object layout, resulting in heap memory corruption / overflow conditions under ASan.

Fixed upstream by converting the buffer with g_byte_array_free_to_bytes() before emission (commit d2cbaf25, libsoup 3.7.3).

References:
https://gitlab.gnome.org/GNOME/libsoup/-/work_items/554 (Bug 2)
https://gitlab.gnome.org/GNOME/libsoup/-/commit/d2cbaf25


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