Nakakita sila ng kahinaan sa mga library ng uClibc at uClibc-ng na nakakaapekto sa firmware ng Linux 

Ilang araw na ang nakalilipas ang balita ay pinakawalan na sa C standard na mga aklatan uClibc at uClibc-ng, ginagamit sa maraming naka-embed at portable na device, may natukoy na kahinaan (na hindi pa nakatalaga ang CVE), na nagbibigay-daan sa pagpapalit ng dummy data sa DNS cache, na maaaring magamit upang madaya ang IP address ng isang arbitrary na domain sa cache at i-redirect ang mga kahilingan sa domain sa server ng umaatake.

Tungkol sa problema ay nabanggit na ito nakakaapekto sa iba't ibang Linux firmware para sa mga router, access point at IoT device, pati na rin ang mga naka-embed na pamamahagi ng Linux tulad ng OpenWRT at Embedded Gentoo.

Tungkol sa kahinaan

Kakayahang mangyari ay dahil sa paggamit ng mga predictable transaction identifier sa code upang magpadala ng mga query ng DNS. Ang DNS query ID ay pinili sa pamamagitan lamang ng pagdaragdag sa counter nang walang karagdagang randomization ng mga numero ng port, na ginawang posible na lason ang DNS cache sa pamamagitan ng preemptively pagpapadala ng mga UDP packet na may mga huwad na tugon (ang tugon ay tatanggapin kung ito ay dumating bago ang tugon mula sa tunay na server at kasama ang tamang pagkakakilanlan).

Hindi tulad ng pamamaraan ng Kaminsky na iminungkahi noong 2008, hindi na kailangang hulaan ang ID ng transaksyon, dahil ito ay mahuhulaan sa una (sa una, ito ay nakatakda sa 1, na tumataas sa bawat kahilingan, at hindi random na pinili).

upang protektahan ang iyong sarili laban sa paghula ng ID, ang detalye karagdagang inirerekomenda ang paggamit ng random na pamamahagi ng mga numero ng network port ng pinanggalingan kung saan ipinapadala ang mga query sa DNS, na nagbabayad para sa hindi sapat na laki ng ID.

Kapag pinagana ang randomization ng port, upang makabuo ng isang dummy na tugon, bilang karagdagan sa pagpili ng isang 16-bit na identifier, kinakailangan ding piliin ang numero ng port ng network. Sa uClibc at uClibc-ng, hindi tahasang pinagana ang naturang randomization (kapag tinawag ang bind, hindi tinukoy ang random source na UDP port) at ang pagpapatupad nito ay nakadepende sa configuration ng operating system.

Kapag hindi pinagana ang port randomization, ang pagtukoy kung aling request id ang dagdagan ay minarkahan bilang isang maliit na gawain. Ngunit kahit na sa kaso ng randomization, kailangan lang hulaan ng attacker ang network port mula sa hanay na 32768-60999, kung saan maaari niyang gamitin ang napakalaking sabay-sabay na pagpapadala ng mga dummy na tugon sa iba't ibang network port.

Ang problema ay nakumpirma sa lahat ng kasalukuyang bersyon ng uClibc at uClibc-ng, kabilang ang mga pinakabagong bersyon ng uClibc 0.9.33.2 at uClibc-ng 1.0.40.

"Mahalagang tandaan na ang isang kahinaan na nakakaapekto sa isang karaniwang C library ay maaaring maging kumplikado," isinulat ng koponan sa isang post sa blog ngayong linggo.

"Hindi lamang magkakaroon ng daan-daan o libu-libong mga tawag sa vulnerable na function sa maraming mga punto sa isang programa, ngunit ang kahinaan ay makakaapekto sa isang hindi tiyak na bilang ng iba pang mga multi-vendor na programa na na-configure upang gamitin ang library na iyon."

Noong Setyembre 2021, ipinadala ang impormasyon tungkol sa kahinaan sa CERT/CC para sa coordinated array preparation. Noong Enero 2022, ang problema ay ibinahagi sa higit sa 200 mga tagagawa nauugnay sa CERT/CC.

Noong Marso, nagkaroon ng pagtatangka na hiwalay na makipag-ugnayan sa tagapangasiwa ng proyekto ng uClibc-ng, ngunit tumugon siya na hindi niya maaayos ang kahinaan sa kanyang sarili at nagrekomenda ng pampublikong pagsisiwalat ng impormasyon tungkol sa problema, umaasa na makakuha ng tulong sa pagbuo ng pag-aayos. ng ang komunidad. Mula sa mga tagagawa, inihayag ng NETGEAR ang paglabas ng isang update sa pag-alis ng kahinaan.

Mahalagang tandaan na ang isang kahinaan na nakakaapekto sa isang karaniwang C library ay maaaring maging kumplikado. Hindi lamang magkakaroon ng daan-daan o libu-libong mga tawag sa vulnerable na function sa maraming mga punto sa isang programa, ngunit ang kahinaan ay makakaapekto sa isang hindi tiyak na bilang ng iba pang mga programa mula sa maraming vendor na na-configure upang gamitin ang library na iyon.

Napansin na ang kahinaan ay nagpapakita mismo sa mga device mula sa maraming mga tagagawa (halimbawa, ang uClibc ay ginagamit sa firmware mula sa Linksys, Netgear, at Axis), ngunit dahil ang kahinaan ay nananatiling hindi natatakpan sa uClibc at uClibc-ng, detalyadong impormasyon tungkol sa mga device at partikular mga tagagawa kung saan ang mga produkto ay may problema, hanggang sa ibunyag ang mga ito.

Sa wakas kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye Sa sumusunod na link.


Maging una sa komento

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.