В ядре Linux устранена следующая уязвимость:
netfilter: nf_conntrack_h323: исправлено чтение OOB в случае CONS decode_int()
В decode_int() случай CONS вызывает get_bits(bs, 2) для чтения длины
значение, затем вызывает get_uint(bs, len), не проверяя, что len байтов
оставаться в буфере. Существующая проверка границ подтверждает только
2 бита для get_bits(), а не последующие 1-4 байта, которые get_uint()
читает. Это позволяет неправильно сформированному пакету H.323/RAS вызывать 1-4-байтовый пакет.
чтение плиты за пределами поля.
Добавьте проверку границ для len байт после get_bits() и до
get_uint().
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_h323: fix OOB read in decode_int() CONS case In decode_int(), the CONS case calls get_bits(bs, 2) to read a length value, then calls get_uint(bs, len) without checking that len bytes remain in the buffer. The existing boundary check only validates the 2 bits for get_bits(), not the subsequent 1-4 bytes that get_uint() reads. This allows a malformed H.323/RAS packet to cause a 1-4 byte slab-out-of-bounds read. Add a boundary check for len bytes after get_bits() and before get_uint().