В библиотеке libwebsockets (версии 4.4) при включённом флаге LWS_WITH_SYS_ASYNC_DNS обнаружена переполняющая стек буфер‑переполнение в функ…
В библиотеке libwebsockets (версии 4.4) при включённом флаге LWS_WITH_SYS_ASYNC_DNS обнаружена переполняющая стек буфер‑переполнение в функции `lws_adns_parse_label`. При разборе DNS‑ответа не учитывается суммарный объём уже записанных байт в целевой буфер, что позволяет при специально сформированном ответе записать строку‑метку длиной, превышающей размер буфера, вызывая переполнение стека (CWE‑121). Эксплуатация требует возможности «перехвата» DNS‑запроса и отправки поддельного ответа с тем же идентификатором. Доказательство концепции включает запуск `./build/bin/lws-test-async-dns < poc_stackbof`. Оценка CVSS = 7.5 (высокий). Рекомендация – добавить проверку количества записанных байт (см. патч). [1] [2] Источники: - [1] https://libwebsockets.org/git/libwebsockets/commit?id=2bb9598562b37c942ba5b04bcde3f7fdf66a9d3a - [2] https://www.nozominetworks.com/labs/vulnerability-advisories-cve-2025-11678
Переполнение стекового буфера — это условие, при котором перезаписываемый буфер размещён в стеке (то есть является локальной переменной или, редко, параметром функции).
https://cwe.mitre.org/data/definitions/121.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| libwebsockets | Отслеживается | |
| libwebsockets | Отслеживается | |
| libwebsockets | Отслеживается | |
| libwebsockets | Отслеживается |