Sebezhetőséget találtak a Rust and Go hálózati könyvtáraiban, ami megakadályozza az IP érvényesítését

nemrég információkat tettek közzé a sebezhetőségekről amelyek megtalálhatók a nyelvek szabványos könyvtáraiban Rust and Go, amelyek az IP -címek helytelen kezelésével kapcsolatos oktális számjegyekkel a cím -elemzési funkciókban.

Megemlítik, hogy eEzek a biztonsági rések lehetővé teszik, hogy elkerülje az érvényes címek ésn alkalmazások, például a hurokhálózati interfészcímekhez vagy intranetes alhálózatokhoz való hozzáférés megszervezésére, amikor kiszolgálóoldali kéréshamisítási támadásokat hajtanak végre.

A sérülékenységek e két nyelven Az IP -címsorok a specifikációban vannak megvalósítva nulla alapú, hiszen az vagy elméletileg oktális számként kell értelmezni őket, de az a probléma, hogy ezeket a hibákat az okozza, hogy sok könyvtár nem veszi ezt figyelembe, és csak elveti a nullát végül tizedes számként kezelik az értéket.

Például, hogy megértsük, hogyan értelmezik az IP -címeket ezekben a hibákban, a 0177 szám oktális számban 127 decimális, és amellyel a támadó kérheti a "0177.0.0.1" értéket megadó erőforrást, amely, mivel oktálként ennek tizedesjele "127.0.0.1".

Ezért az egyik problémás könyvtár használata esetén, az alkalmazás nem érzékeli a cím előfordulását 0177.0.0.1 a 127.0.0.1 alhálózatban, de valójában egy kérés elküldésekor hívhatja a "0177.0.0.1" címet, amely a téves értelmezés miatt a 127.0.0.1. Hasonlóképpen, az intranetes címekhez való hozzáférés becsapható és ellenőrizhető különböző értékek megadásával, amelyeket a támadó ki fog értékelni az esetleges kihasználás szempontjából.

Oldalán Rust, kiderült, hogy a probléma az "std :: net" szabványos könyvtárhoz tartozik és amely már a "CVE-2021-29922" katalógusban van. Azt írja le a könyvtár IP -címeinek elemzője nullát dob ​​el az értékek előtt címét, de csak akkor, ha legfeljebb három számjegyet adtak meg, például a "0177.0.0.1" érvénytelen értékként lesz értelmezve, és helytelen eredményt ad vissza válaszul.

A hibás oktális karakterlánc-bemeneti ellenőrzés a rust-lang szabványos "net" könyvtárban lehetővé teszi a nem hitelesített távoli támadók számára, hogy meghatározatlan SSRF, RFI és LFI támadásokat hajtsanak végre a rust-lang std :: nettől függő számos program ellen. Az IP -cím oktettjeit levágják, ahelyett, hogy érvényes IP -címekként értékelnék őket.

Azt is megemlítik, hogy az std :: net :: IpAddr könyvtárat használó alkalmazások meghatározott címek elemzésekor felhasználó által potenciálisan érzékenyek az SSRF támadásokra (szerveroldali kéréshamisítás), RFI (távoli fájlfelvétel) és BIA (helyi fájlok felvétele). Hasonlóképpen, a támadó beléphet a 127.0.026.1 -be, ami valójában 127.0.22

Például egy támadó, aki IP -címet küld egy webes alkalmazásnak, amely az std :: net :: IpAddr alapú, SSRF -t okozhat oktális bemeneti adatok megadásával; A támadó kihasználható IP -címeket küldhet, ha az oktet 3 számjegyből áll, a minimálisan kihasználható 08 -as oktettel, amely szolgáltatásmegtagadáshoz vezet, és a maximális kihasználható 099 -es oktettel, amely szintén szolgáltatásmegtagadáshoz vezet. 

Ha többet szeretne tudni erről a biztonsági résről a Rustban ellenőrizheti a részleteket A következő linken. Azt is megemlítik, hogy a biztonsági rést a Rust 1.53.0 ágban javították.

Amint az érintett problémára hogy Go, megemlítik, hogy ez a szabványos „net” könyvtár hatálya alá tartozik és már szerepel a CVE-2021-29923 alatt. A leírásban megemlítik, hogy lehetővé teszi a nem hitelesített távoli támadók számára, hogy SSRF, RFI és LFI támadásokat hajtsanak végre meghatározatlan sok programban, amelyek a golang beépített netétől függenek. ParseCIDR függvény. Az egyes CIDR IP -oktetteket lecsupaszítják, ahelyett, hogy érvényes IP -oktettekként értékelnék őket.

Például egy támadó átadhatja a 00000177.0.0.1 értéket, amely a net.ParseCIDR függvényben bejelölve 177.0.0.1/24, nem pedig 127.0.0.1/24 lesz. A probléma a Kubernetes platformon is megnyilvánul. A biztonsági rést a Go 1.16.3 és 1.17 béta verziójában javították.

Többet megtudhat róla erről a sebezhetőségről A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.