Les vulnerabilitats trobades en dnsmasq permetien falsificar contingut a la memòria cau de DNS

Fa poc es va donar a conèixer informació sobre la identificació de 7 vulnerabilitats al paquet Dnsmasq, que combina un sistema de resolució de DNS en memòria cau i un servidor DHCP, als quals se'ls va assignar el nom en clau DNSpooq. Els problemes s permeten atacs de memòria cau de DNS falsos o desbordaments de memòria intermèdia que podrien conduir a l'execució remota del codi d'un atacant.

Tot i que recentment Dnsmasq ha deixat d'utilitzar-se per defecte com a solucionador en distribucions regulars de Linux, segueix utilitzant-se en Android i distribucions especialitzades com OpenWrt i DD-WRT, així com al firmware de routers sense fil de molts fabricants. En distribucions normals, l'ús implícit de dnsmasq és possible, per exemple, quan s'utilitza libvirt, es pot iniciar per brindar servei DNS a màquines virtuals o es pot activar en canviar la configuració al configurador de NetworkManager.

Atès que la cultura d'actualització d'encaminadors sense fil deixa molt a desitjar, els investigadors temen que els problemes identificats puguin romandre sense resoldre durant molt de temps i es veuran involucrats en atacs automatitzats als encaminadors per obtenir-ne control o per redirigir els usuaris a llocs maliciosos falsos.

Hi ha aproximadament 40 empreses basades en Dnsmasq , incloses Cisco, Comcast, Netgear, Ubiquiti, Siemens, Arista, Technicolor, Aruba, Wind River, Asus, AT&T, D-Link, Huawei, Juniper, Motorola, Synology, Xiaomi, ZTE i Zyxel. Es pot advertir als usuaris dels dispositius esmentats que no utilitzin el servei regular de redirecció de consultes DNS que s'hi proporciona.

La primera part de les vulnerabilitats descobertes a Dnsmasq es refereix a la protecció contra atacs d'enverinament de memòria cau de DNS, basada en un mètode proposat el 2008 per Dan Kaminsky.

Els problemes identificats fan que la protecció existent sigui ineficaç i permeten falsificar l'adreça IP d'un domini arbitrari a la memòria cau. El mètode de Kaminsky manipula la mida insignificant del camp d'identificació de la consulta de DNS, que només és de 16 bits.

Per trobar l'identificador correcte necessari per suplantar el nom de host, només cal enviar unes 7.000 sol·licituds i simular unes 140.000 respostes falses. L'atac es redueix a enviar una gran quantitat de paquets falsos vinculats a IP al resolutor de DNS amb diferents identificadors de transaccions de DNS.

Les vulnerabilitats identificades redueixen el nivell d'entropia dels 32 bits esperats a la necessitat d'endevinar 19 bits, cosa que fa que un atac d'enverinament de memòria cau sigui força realista. A més, el maneig dels registres CNAME per part de dnsmasq us permet falsificar la cadena de registres CNAME per falsificar de manera eficient fins a 9 registres DNS alhora.

  • CVE-2020-25684: manca de validació de l'ID de sol·licitud en combinació amb l'adreça IP i el número de port a l'processar les respostes de DNS de servidors externs. Aquest comportament és incompatible amb RFC-5452, que requereix que s'utilitzin atributs de sol·licitud addicionals a l'fer coincidir amb una resposta.
  • CVE-2020-25686: Manca de validació de sol·licituds pendents amb el mateix nom, el que permet que l'ús de l'mètode d'aniversari redueixi significativament el nombre d'intents necessaris per falsificar una resposta. En combinació amb la vulnerabilitat CVE-2020-25684, aquesta característica pot reduir significativament la complexitat de l'atac.
  • CVE-2020-25685: ús de l'algoritme hash CRC32 poc fiable a l'verificar les respostes, en el cas d'una compilació sense DNSSEC (SHA-1 s'usa amb DNSSEC). La vulnerabilitat podria usar-se per reduir significativament el nombre d'intents permetent explotar dominis que tinguin el mateix hash CRC32 que el domini de destinació.
  • El segon conjunt de problemes (CVE-2020-25681, CVE-2020-25682, CVE-2020-25683 i CVE-2020-25687) és causat per errors que provoquen desbordaments de memòria intermèdia a l'processar certes dades externs.
  • Per a les vulnerabilitats CVE-2020-25681 i CVE-2020-25682, és possible crear gestes que podrien conduir a l'execució de codi en el sistema.

Finalment s'esmenta que les vulnerabilitats s'aborden en l'actualització de Dnsmasq 2.83 i com a solució alternativa, es recomana deshabilitar DNSSEC i l'emmagatzematge en memòria cau de consultes usant les opcions de línia d'ordres.

Font: https://kb.cert.org


Afegir com a font preferida a Google