Description
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.
Problem types
Product status
Timeline
| 2026-06-16: | Reported to Red Hat. |
| 2026-04-27: | Made public. |
Credits
Red Hat would like to thank Adel Bouachraoui and Gerard Capdevila for reporting this issue.
References
access.redhat.com/security/cve/CVE-2026-12478
access.redhat.com/security/cve/cve-2026-0716 (cve-2026-0716)
bugzilla.redhat.com/show_bug.cgi?id=2489655 (RHBZ#2489655)
gitlab.gnome.org/GNOME/libsoup/-/merge_requests/518