No configurador de rede ConnMan, amplamente utilizado em sistemas Linux embarcados, plataformas automotivas e dispositivos de internet das coisas, foi encontrada uma vulnerabilidade (CVE-2025-32743) que pode potencialmente levar à execução de código ao processar respostas especialmente formatadas de um servidor DNS. A vulnerabilidade foi classificada como crítica (9,1 de 10). O problema está presente até a versão atual do ConnMan 1.44 e ainda não foi corrigido.
A vulnerabilidade está presente na implementação do proxy DNS e é causada pelo fato de que, ao processar uma resposta DNS com o bit TC (Truncated), a string ‘lookup’ na função ns_resolv permanece vazia ou com o valor NULL. Isso leva a um estouro de buffer devido ao cálculo incorreto do tamanho dos dados copiados pela função memcpy.
Adicionalmente, pode-se destacar uma vulnerabilidade (CVE-2025-31498) na biblioteca c-ares, que é usada para enviar consultas DNS de forma assíncrona. A vulnerabilidade é causada pelo acesso a uma área de memória já liberada (use-after-free) na função de processamento de respostas do servidor DNS.
O problema ocorre porque, em caso de queda da conexão, pode surgir uma situação em que o descritor da conexão já foi liberado, mas a função read_answers() acha que ele ainda está disponível ao excluir outras consultas da fila. A exploração da vulnerabilidade é dificultada pelo fato de que o atacante deve controlar o servidor DNS pelo qual a resolução é feita e criar condições para falhar chamadas send()/write(), o que teoricamente é possível ao inundar a vítima com pacotes ICMP UNREACHABLE.
A vulnerabilidade pode ser explorada para atacar projetos que utilizam a biblioteca c-ares. Por exemplo, a c-ares é utilizada no Node.js, sssd, apt-cacher-ng, wireshark, pgbouncer, shadowsocks, zephyr, sysdig e frr. O problema começa a aparecer a partir da versão 1.32.3 (julho de 2024) e foi corrigido na atualização c-ares 1.34.5. É possível acompanhar a correção da vulnerabilidade nas distribuições nas seguintes páginas: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.
Fonte: opennet.ru
