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 UINT64MAX to trigger an OOB read in a libsoup-based client when maxincomingpayloadsize is set to 0.
{
"binaries": [
{
"binary_version": "3.0.7-0ubuntu1+esm7",
"binary_name": "gir1.2-soup-3.0"
},
{
"binary_version": "3.0.7-0ubuntu1+esm7",
"binary_name": "libsoup-3.0-0"
},
{
"binary_version": "3.0.7-0ubuntu1+esm7",
"binary_name": "libsoup-3.0-common"
},
{
"binary_version": "3.0.7-0ubuntu1+esm7",
"binary_name": "libsoup-3.0-tests"
}
]
}
{
"binaries": [
{
"binary_version": "3.4.4-5ubuntu0.7",
"binary_name": "gir1.2-soup-3.0"
},
{
"binary_version": "3.4.4-5ubuntu0.7",
"binary_name": "libsoup-3.0-0"
},
{
"binary_version": "3.4.4-5ubuntu0.7",
"binary_name": "libsoup-3.0-common"
},
{
"binary_version": "3.4.4-5ubuntu0.7",
"binary_name": "libsoup-3.0-tests"
}
]
}
{
"binaries": [
{
"binary_version": "3.6.6-1",
"binary_name": "gir1.2-soup-3.0"
},
{
"binary_version": "3.6.6-1",
"binary_name": "libsoup-3.0-0"
},
{
"binary_version": "3.6.6-1",
"binary_name": "libsoup-3.0-common"
},
{
"binary_version": "3.6.6-1",
"binary_name": "libsoup-3.0-tests"
}
]
}