Van detectar una vulnerabilitat a les biblioteques uClibc i uClibc-ng que afecta firmware Linux 

Fa pocs dies es va donar a conèixer la notícia que a les biblioteques estàndard C uClibc i uClibc-ng, utilitzades en molts dispositius integrats i portàtils, s'ha identificat una vulnerabilitat (amb CVE encara no assignat), que permet substituir dades ficticis a la memòria cau DNS, que es poden utilitzar per falsificar l'adreça IP d'un domini arbitrari a la memòria cau i redirigir les sol·licituds al domini al servidor de l'atacant.

Sobre el problema s'esmenta que aquest afecta diversos firmware de Linux per a encaminadors, punts d'accés i dispositius IoT, així com distribucions de Linux integrades com a OpenWRT i Embedded Gentoo.

Sobre la vulnerabilitat

la vulnerabilitat es deu a l'ús d'identificadors de transaccions predictibles al codi per enviar consultes de DNS. L'ID de consulta de DNS es va triar simplement incrementant el comptador sense una aleatorització addicional dels números de port, cosa que va fer possible enverinar la memòria cau de DNS en enviar de forma preventiva paquets UDP amb respostes falses (la resposta s'acceptarà si arriba abans que la resposta del servidor real i inclou la identificació correcta).

A diferència del mètode Kaminsky proposat el 2008, ni tan sols cal endevinar l'ID de la transacció, ja que inicialment és predictible (inicialment, s'estableix el valor 1, que augmenta amb cada sol·licitud, i no se selecciona aleatòriament).

per protegir contra l'endevinació d'ID, l'especificació recomana a més l'ús d'una distribució aleatòria dels números de port de la xarxa d'origen des dels quals s'envien les consultes de DNS, cosa que compensa la mida insuficient de la ID.

Quan l'aleatorització de ports està habilitada, per formar una resposta fictícia, a més de seleccionar un identificador de 16 bits, també cal seleccionar el número de port de xarxa. A uClibc i uClibc-ng, aquesta aleatorització no estava explícitament habilitada (quan es deia bind, no s'especificava un port UDP d'origen aleatori) i la seva aplicació depenia de la configuració del sistema operatiu.

Quan l'aleatorització de ports està deshabilitada, determinar quin ID de sol·licitud incrementar es marca com una tasca trivial. Però fins i tot en el cas de l'aleatorització, l'atacant només necessita endevinar el port de xarxa del rang 32768-60999, per a això pot utilitzar l'enviament simultani massiu de respostes fictícies a diferents ports de xarxa.

el problema s'ha confirmat a totes les versions actuals de uClibc i uClibc-ng, incloses les darreres versions de uClibc 0.9.33.2 i uClibc-ng 1.0.40.

"És important tenir en compte que una vulnerabilitat que afecta una biblioteca estàndard de C pot ser una mica complexa", va escriure l'equip en una publicació de bloc aquesta setmana.

"No només hi hauria centenars o milers de trucades a la funció vulnerable en múltiples punts d'un sol programa, sinó que la vulnerabilitat afectaria una quantitat indefinida d'altres programes de múltiples proveïdors configurats per fer servir aquesta biblioteca".

Al setembre de 2021, es va enviar informació sobre la vulnerabilitat a CERT/CC per a la preparació coordinada d'arranjaments. Al gener de 2022, el problema es va compartir amb més de 200 fabricants associats amb CERT/CC.

Al març, hi va haver un intent de contactar per separat amb el mantenidor del projecte uClibc-ng, però va respondre que no podia arreglar la vulnerabilitat per si mateix i va recomanar la divulgació pública d'informació sobre el problema, amb l'esperança d'obtenir ajuda per desenvolupar una solució de la comunitat. Dels fabricants, Netgear va anunciar el llançament d'una actualització amb l'eliminació de la vulnerabilitat.

És important tenir en compte que una vulnerabilitat que afecta una biblioteca estàndard de C pot ser una mica complexa. No només hi hauria centenars o milers de trucades a la funció vulnerable en múltiples punts d'un sol programa, sinó que la vulnerabilitat afectaria una quantitat indefinida d'altres programes de múltiples proveïdors configurats per fer servir aquesta biblioteca.

S'observa que la vulnerabilitat es manifesta en dispositius de molts fabricants (per exemple, uClibc s'usa al microprogramari de Linksys, Netgear i Axis), però atès que la vulnerabilitat roman sense pegats a uClibc i uClibc-ng, la informació detallada sobre dispositius i fabricants específics en els productes dels quals hi ha un problema, fins que siguin divulgats.

Finalment si estàs interessat en poder conèixer més a l'respecte, Pots consultar els detalls en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.