A heap buffer over-read vulnerability was discovered in libsoup's (versions: libsoup 3.0 to 3.7.0) HTTP/2 connection tracking framework. When the library processes an HTTP/2 GOAWAY frame, it improperly handles the "Additional Debug Data" payload by assuming the data stream is a safely NUL-terminated C-string. Because the parser lacks strict length-boundary verification before reading this data, a remote, unauthenticated attacker can intentionally send a malformed GOAWAY frame missing the appropriate null delimiter. This causes the library to read past the end of the allocated buffer, triggering an application crash that results in a denial of service (DoS), or potentially exposing fragments of memory contents.
{
"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"
}
]
}