Sårbarhed i uClibc og uClibc-ng, der gør det muligt at ændre data i DNS-cachen.

I standard C-bibliotekerne uClibc og uClibc-ng, der anvendes i mange indbyggede og bærbare enheder, er der opdaget en sårbarhed (CVE ikke tildelt), som gør det muligt at indsætte falske data i DNS-cachen. Dette kan bruges til at ændre IP-adressen for en vilkårlig domæne i cachen og omdirigere anmodninger til domænet til en angribers server.

Problemet berører forskellige Linux-firmware til routere, adgangspunkter og Internet of Things-enheder, samt Linux-distributioner til indbyggede systemer såsom OpenWRT og Embedded Gentoo. Det er blevet bemærket, at sårbarheden optræder i enheder fra mange producenter (f.eks. anvendes uClibc i firmwares fra Linksys, Netgear og Axis), men da uClibc og uClibc-ng ikke har fået løst sårbarheden, er detaljerede oplysninger om specifikke enheder og producenter, hvis produkter indeholder problemet, endnu ikke blevet offentliggjort.

Sårbarheden skyldes brugen af forudsigelige transaktions-id'er i koden til afsendelse af DNS-anmodninger. DNS-anmodningens identifikationsnummer blev valgt ved simpelt at gøre en tæller større uden at anvende ekstra randomisering af portnumre, hvilket muliggør forgiftning af DNS-cachen gennem forudgående afsendelse af UDP-pakker med falske svar (svaret vil blive accepteret, hvis det kommer før svaret fra den reelle server, og indeholder det korrekte ID). server I modsætning til den metode, der blev foreslået i 2008 af Kaminsky, behøvede transaktions-id'et ikke engang at gættes, da det i forvejen er forudsigeligt (det starter med værdien 1, som øges for hver anmodning, og ikke vælges tilfældigt).

Sårbarhed i uClibc og uClibc-ng, der gør det muligt at ændre data i DNS-cachen.

I specifikationen for beskyttelse mod gætning af identifikator anbefales det at anvende tilfældig fordeling af netværks-portnumre, som DNS-anmodninger sendes fra, hvilket kompenserer for den utilstrækkeligt store størrelse af identifikatoren. Når portene randomiseres for at danne et falsk svar, er det nødvendigt at finde både et 16-bits identifikator og netværksportnummeret. I uClibc og uClibc-ng blev sådan randomisering ikke eksplicit inkluderet (der blev ikke angivet en tilfældig UDP-port ved kald til bind), og dets anvendelse var afhængig af operativsystemets indstillinger.

Når randomisering af strømme er slået fra, betragtes det at bestemme det inkrementelle anmodnings-ID som en triviel opgave. Men selv ved brug af randomisering skal angriberen blot gætte netværksporten fra intervallet 32768–60999, hvilket kan gøres ved massivt at sende falske svar på forskellige netværksporte simultant.

Sårbarhed i uClibc og uClibc-ng, der gør det muligt at ændre data i DNS-cachen.

Problemet er bekræftet i alle aktuelle versioner af uClibc og uClibc-ng, inklusive de nyeste versioner uClibc 0.9.33.2 og uClibc-ng 1.0.40. I september 2021 blev information om sårbarheden sendt til CERT/CC for koordineret forberedelse af rettelser. I januar 2022 blev data om problemet sendt til mere end 200 producenter, der samarbejdede med CERT/CC. I marts blev der forsøgt at kontakte projektet uClibc-ng direkte, men de svarede, at de ikke var i stand til at rette sårbarheden selv og anbefalede at offentliggøre information om problemet, i håb om at få hjælp fra fællesskabet til udviklingen af en rettelse. NETGEAR var en af producenterne, der meddelte om udgivelse af en opdatering til at løse sårbarheden.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster