OpenWrt Project — это операционная система Linux, предназначенная для встраиваемых устройств. В версиях до 24.10.6 и 25.12.1 демон mdns имеет уязвимость переполнения буфера на основе стека в функции match_ipv6_addresses, которая срабатывает при обработке запросов PTR для доменов обратного DNS IPv6 (.ip6.arpa), полученных через многоадресную рассылку DNS на порту UDP 5353. Во время обработки имя домена из name_buffer копируется через strcpy в фиксированный 256-байтовый формат. буфер стека, а затем обратный запрос IPv6 извлекается в буфер размером всего 46 байт (INET6_ADDRSTRLEN).
Поскольку длина данных никогда не проверяется перед извлечением, злоумышленник может предоставить входные данные размером более 46 байт, что приведет к записи за пределами допустимого диапазона. Это позволяет специально созданному DNS-запросу переполнять буфер стека в match_ipv6_addresses, что потенциально делает возможным удаленное выполнение кода. Эта проблема исправлена в версиях 24.10.6 и 25.12.1.
Показать оригинальное описание (EN)
OpenWrt Project is a Linux operating system targeting embedded devices. In versions prior to 24.10.6 and 25.12.1, the mdns daemon has a Stack-based Buffer Overflow vulnerability in the match_ipv6_addresses function, triggered when processing PTR queries for IPv6 reverse DNS domains (.ip6.arpa) received via multicast DNS on UDP port 5353. During processing, the domain name from name_buffer is copied via strcpy into a fixed 256-byte stack buffer, and then the reverse IPv6 request is extracted into a buffer of only 46 bytes (INET6_ADDRSTRLEN). Because the length of the data is never validated before this extraction, an attacker can supply input larger than 46 bytes, causing an out-of-bounds write. This allows a specially crafted DNS query to overflow the stack buffer in match_ipv6_addresses, potentially enabling remote code execution. This issue has been fixed in versions 24.10.6 and 25.12.1.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 2
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Openwrt Openwrt
cpe:2.3:o:openwrt:openwrt:*:*:*:*:*:*:*:*
|
— |
24.10.6
|
|
Openwrt Openwrt
cpe:2.3:o:openwrt:openwrt:*:*:*:*:*:*:*:*
|
25.12.0
|
25.12.1
|