В ядре Linux устранена следующая уязвимость:
netfilter: nf_conntrack_h323: проверка нулевой длины в DecodeQ931()
В DecodeQ931() путь кода UserUserIE считывает 16-битную длину из
пакет, затем уменьшает его на 1, чтобы пропустить дискриминатор протокола
байт перед передачей его в DecodeH323_UserInformation(). Если закодированный
длина равна 0, декремент переводится в -1, который затем передается как
большое значение для декодера, что приводит к чтению за пределами допустимого диапазона.
Добавьте проверку, чтобы убедиться, что len положителен после уменьшения.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_h323: check for zero length in DecodeQ931() In DecodeQ931(), the UserUserIE code path reads a 16-bit length from the packet, then decrements it by 1 to skip the protocol discriminator byte before passing it to DecodeH323_UserInformation(). If the encoded length is 0, the decrement wraps to -1, which is then passed as a large value to the decoder, leading to an out-of-bounds read. Add a check to ensure len is positive after the decrement.