Zistili zraniteľnosť v knižniciach uClibc a uClibc-ng, ktorá ovplyvňuje firmvér Linuxu 

Pred pár dňami vyšla správa, že v štandardných knižniciach C uClibc a uClibc-ng, používané v mnohých vstavaných a prenosných zariadeniach, bola identifikovaná zraniteľnosť (s ešte neprideleným CVE), čo umožňuje nahradenie fiktívnych údajov vo vyrovnávacej pamäti DNS, ktoré možno použiť na sfalšovanie IP adresy ľubovoľnej domény vo vyrovnávacej pamäti a presmerovanie požiadaviek na doménu na server útočníka.

O probléme sa spomína, že toto ovplyvňuje rôzny firmvér Linuxu pre smerovače, prístupové body a zariadenia internetu vecí, ako aj vstavané distribúcie Linuxu ako OpenWRT a Embedded Gentoo.

O zraniteľnosti

Zraniteľnosť je spôsobené použitím predvídateľných identifikátorov transakcií v kóde na odosielanie dopytov DNS. ID dotazu DNS bolo zvolené jednoduchým zvýšením počítadla bez ďalšej náhodnosti čísel portov, ktoré umožnil otráviť vyrovnávaciu pamäť DNS preventívnym odosielaním UDP paketov s falošnými odpoveďami (odpoveď bude akceptovaná, ak príde pred odpoveďou zo skutočného servera a bude obsahovať správnu identifikáciu).

Na rozdiel od Kaminského metódy navrhnutej v roku 2008 nie je ani potrebné uhádnuť ID transakcie, pretože je spočiatku predvídateľné (na začiatku je nastavené na 1, ktorá sa zvyšuje s každou požiadavkou a nie je vyberané náhodne).

chrániť sa proti hádaniu ID, špecifikácia ďalej odporúča použitie náhodného rozdelenia čísel sieťových portov pôvodu, z ktorého sa odosielajú DNS dotazy, čo kompenzuje nedostatočnú veľkosť ID.

Keď je povolená náhodnosť portov, na vytvorenie fiktívnej odpovede je okrem výberu 16-bitového identifikátora potrebné vybrať aj číslo sieťového portu. V uClibc a uClibc-ng takáto randomizácia nebola explicitne povolená (pri volaní bind nebol špecifikovaný náhodný zdrojový UDP port) a jej implementácia závisela od konfigurácie operačného systému.

Keď je randomizácia portov zakázaná, určenie, ktoré ID požiadavky sa má zvýšiť, je označené ako triviálna úloha. Ale aj v prípade randomizácie útočníkovi stačí uhádnuť sieťový port z rozsahu 32768-60999, na čo môže využiť masívne simultánne posielanie fiktívnych odpovedí na rôzne sieťové porty.

Problém bol potvrdený vo všetkých aktuálnych verziách uClibc a uClibc-ng, vrátane najnovších verzií uClibc 0.9.33.2 a uClibc-ng 1.0.40.

„Je dôležité poznamenať, že zraniteľnosť ovplyvňujúca štandardnú knižnicu C môže byť dosť zložitá,“ napísal tím tento týždeň v blogovom príspevku.

"Nielenže by došlo k stovkám alebo tisíckam volaní zraniteľnej funkcie na viacerých miestach v jedinom programe, ale táto zraniteľnosť by ovplyvnila neurčitý počet iných programov od viacerých dodávateľov nakonfigurovaných na používanie tejto knižnice."

V septembri 2021 boli odoslané informácie o zraniteľnosti na CERT/CC na koordinovanú prípravu poľa. V januári 2022 problém bol zdieľaný s viac ako 200 výrobcami spojené s CERT/CC.

V marci došlo k pokusu samostatne kontaktovať správcu projektu uClibc-ng, ale ten odpovedal, že sám nedokáže odstrániť zraniteľnosť a odporučil verejné zverejnenie informácií o probléme v nádeji, že získa pomoc pri vývoji opravy. komunita. Od výrobcov spoločnosť NETGEAR oznámila vydanie aktualizácie s odstránením zraniteľnosti.

Je dôležité poznamenať, že zraniteľnosť ovplyvňujúca štandardnú knižnicu C môže byť pomerne zložitá. Nielenže by došlo k stovkám alebo tisíckam volaní zraniteľnej funkcie vo viacerých bodoch v jednom programe, ale táto zraniteľnosť by ovplyvnila neurčitý počet iných programov od viacerých dodávateľov nakonfigurovaných na používanie tejto knižnice.

Je potrebné poznamenať, že zraniteľnosť sa prejavuje v zariadeniach od mnohých výrobcov (napríklad uClibc sa používa vo firmvéri od spoločností Linksys, Netgear a Axis), ale keďže zraniteľnosť zostáva neopravená v uClibc a uClibc-ng, podrobné informácie o zariadeniach a konkrétnych výrobcov, v ktorých produktoch je problém, kým nebudú zverejnené.

Konečne ak máte záujem dozvedieť sa o tom viac, môžete skontrolovať podrobnosti Na nasledujúcom odkaze.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.