{"id":"UBUNTU-CVE-2026-12478","details":"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.","modified":"2026-09-18T01:00:11.589091455Z","published":"2026-07-14T10:16:00Z","upstream":["CVE-2026-12478"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-12478"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-12478"},{"type":"REPORT","url":"https://access.redhat.com/security/cve/CVE-2026-12478"},{"type":"REPORT","url":"https://access.redhat.com/security/cve/cve-2026-0716"},{"type":"REPORT","url":"https://bugzilla.redhat.com/show_bug.cgi?id=2489655"},{"type":"REPORT","url":"https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/518"}],"affected":[{"package":{"name":"libsoup3","ecosystem":"Ubuntu:Pro:22.04:LTS","purl":"pkg:deb/ubuntu/libsoup3?arch=source&distro=esm-apps%2Fjammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.0.4-2","3.0.4-3","3.0.5-1","3.0.7-0ubuntu1","3.0.7-0ubuntu1+esm1","3.0.7-0ubuntu1+esm2","3.0.7-0ubuntu1+esm3","3.0.7-0ubuntu1+esm4","3.0.7-0ubuntu1+esm5","3.0.7-0ubuntu1+esm6","3.0.7-0ubuntu1+esm7","3.0.7-0ubuntu1+esm8"],"ecosystem_specific":{"binaries":[{"binary_version":"3.0.7-0ubuntu1+esm8","binary_name":"gir1.2-soup-3.0"},{"binary_version":"3.0.7-0ubuntu1+esm8","binary_name":"libsoup-3.0-0"},{"binary_version":"3.0.7-0ubuntu1+esm8","binary_name":"libsoup-3.0-common"},{"binary_name":"libsoup-3.0-tests","binary_version":"3.0.7-0ubuntu1+esm8"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-12478.json"}},{"package":{"name":"libsoup3","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/libsoup3?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.4.2-4","3.4.4-1","3.4.4-2","3.4.4-4","3.4.4-5","3.4.4-5build1","3.4.4-5build2","3.4.4-5ubuntu0.1","3.4.4-5ubuntu0.2","3.4.4-5ubuntu0.3","3.4.4-5ubuntu0.4","3.4.4-5ubuntu0.5","3.4.4-5ubuntu0.6","3.4.4-5ubuntu0.7","3.4.4-5ubuntu0.8"],"ecosystem_specific":{"binaries":[{"binary_version":"3.4.4-5ubuntu0.8","binary_name":"gir1.2-soup-3.0"},{"binary_version":"3.4.4-5ubuntu0.8","binary_name":"libsoup-3.0-0"},{"binary_version":"3.4.4-5ubuntu0.8","binary_name":"libsoup-3.0-common"},{"binary_name":"libsoup-3.0-tests","binary_version":"3.4.4-5ubuntu0.8"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-12478.json"}},{"package":{"name":"libsoup3","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/libsoup3?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.6.5-4","3.6.5-5","3.6.5-6","3.6.5-7","3.6.5-9","3.6.6-1"],"ecosystem_specific":{"binaries":[{"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_version":"3.6.6-1","binary_name":"libsoup-3.0-common"},{"binary_version":"3.6.6-1","binary_name":"libsoup-3.0-tests"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-12478.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L"},{"type":"Ubuntu","score":"medium"}]}