В сетевом конфигураторе ConnMan, широко используемом во встраиваемых системах Linux, автомобильных платформах и IoT-устройствах, обнаружена критическая уязвимость (CVE-2025-32743). Она связана с обработкой некорректных DNS-ответов и может привести к выполнению произвольного кода. Проблема затрагивает версии до ConnMan 1.44 и пока остаётся неустранённой.
Основной источник уязвимости — DNS proxy-конфигурация. При наличии бита TC (Truncated) в DNS-ответе, строка "lookup" в функции ns_resolv остаётся пустой, что приводит к переполнению буфера через memcpy из-за некорректного расчета размера загружаемых данных.
Также была идентифицирована уязвимость (CVE-2025-31498) в библиотеке c-ares, используемой для асинхронных DNS-запросов. Проблема связана с использованием уже освобожденной памяти (use-after-free) в процессе обработки ответов от DNS-сервера.
Проблема возникает, если соединение прерывается и попытки send()/write() завершаются с ошибкой сокета, что потенциально возможно при использовании ICMP UNREACHABLE пакетов. Атакующий должен контролировать DNS-сервер.
Уязвимость влияет на проекты, использующие c-ares: Node.js, sssd, wireshark и другие. Она актуальна с версии 1.32.3 (июль 2024 года) и исправлена в релизе c-ares 1.34.5. Обновления доступны для популярных дистрибутивов: Debian, Ubuntu, RHEL и других.