Fedora Account System
Red Hat Associate
Red Hat Customer
A heap buffer overflow was found in libsoup's WebSocket permessage-deflate outgoing path. soup_websocket_extension_deflate_process_outgoing_message() stored deflateBound()'s uLong result in a guint and grew a GByteArray by that amount. For payloads approaching 4 GiB, the bound exceeds G_MAXUINT; truncation allowed buffer->len + max_length to wrap on later growth, and zlib wrote through next_out past the allocation. Fixed by refusing payloads whose compressed bound cannot fit in a GByteArray and by checking each incremental growth (commit dbd0417e, libsoup 3.7.3). References: https://gitlab.gnome.org/GNOME/libsoup/-/work_items/554 (Bug 8) https://gitlab.gnome.org/GNOME/libsoup/-/commit/dbd0417e