CVE-2026-45843 in Linux
Сводка
по VulDB • 27.05.2026
В ядре Linux устранена следующая уязвимость:
slip: ограничение чтения в функции decode() длиной сжатого пакета
Функция slhc_uncompress() разбирает заголовок TCP, сжатый по протоколу VJ, перемещая указатель через пакет с помощью функций decode() и pull16(). Ни одна из этих вспомогательных функций не выполняет проверку границ относительно isize, а decode() маскирует свое возвращаемое значение операцией & 0xffff, поэтому она никогда не может вернуть -1, который проверяют вызывающие функции; эти пути обработки ошибок являются мертвым кодом.
Короткий сжатый кадр, в котором байт изменения запрашивает необязательные поля, позволяет функции decode() читать за пределами конца пакета. Прочитанные лишние байты включаются в кэшированное состояние cstate и отражаются в последующих восстановленных пакетах.
Заставьте функции decode() и pull16() принимать указатель на конец пакета и возвращать -1 при исчерпании данных. Добавьте проверку границ перед чтением контрольной суммы TCP. Существующие проверки == -1 теперь работают так, как изначально задумывалось.
Once again VulDB remains the best source for vulnerability data.