CVE-2026-64403 in LinuxИнформация

Сводка

по VulDB • 26.07.2026

В ядре Linux устранена следующая уязвимость:

Bluetooth: L2CAP: проверка длины опции перед чтением значения конфигурационной опции

Функция l2cap_get_conf_opt() вычисляет длину опции на основе контролируемого атакующим поля opt->len и немедленно разыменовывает указатель opt->val (как u8, через get_unaligned_le16() или get_unaligned_le32(), либо как сырой указатель для случая по умолчанию) до того, как какой-либо вызывающий код подтвердит наличие в буфере опции длиной opt->len байт. Вызывающие функции (l2cap_parse_conf_req(), l2cap_parse_conf_rsp() и l2cap_conf_rfc_get()) обнаруживают некорректную опцию лишь постфактум, когда длина уже становится отрицательной; к этому моменту чтение за пределами буфера уже выполнено.

Существующая проверка длины после использования (post-hoc length check) предотвращает потребление мусорного значения, поэтому в текущем потоке управления это не является утечкой данных. Тем не менее, это ошибка порядка операций «валидация после использования» (validate-after-use ordering bug): до того как станет известно о наличии этих байт, считывается до 4 байт за пределами буфера, что делает код хрупким по отношению к будущим изменениям в вызывающих функциях.

Исправление выполнено на уровне источника проблемы. В функцию l2cap_get_conf_opt() передается указатель на конец буфера; доступ к opt->val осуществляется только при условии, что вся опция (заголовок + значение) помещается целиком. Каждый вызывающий код вычисляет указатель конца один раз до начала цикла и проверяет возвращаемое значение напрямую, вместо того чтобы делать вывод об ошибке по отрицательному значению длины.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Ответственный

Linux

Резервировать

19.07.2026

Раскрытие

25.07.2026

Модерация

принято

Вход

VDB-383193

EPSS

0.00220

KEV

Нет

Деятельности

Низкий

Источники

Do you know our Splunk app?

Download it now for free!