Rust and Go võrguteekides leitud turvaaukud takistavad IP valideerimist

Hiljuti avaldati teave haavatavuste kohta mis leiti keelte standardraamatukogudest Rooste ja mine, mis on seotud IP -aadresside väärkasutamisega kaheksanumbritega aadressianalüüsi funktsioonides.

Mainitakse, et eNeed haavatavused võimaldavad vältida kehtivaid aadressikontrolle jan rakendusi, näiteks selleks, et korraldada juurdepääs loop-liidese aadressidele või sisevõrgu alamvõrkudele serveripoolse päringu võltsimisrünnaku ajal.

Nende kahe keele haavatavused IP -aadressi stringid on spetsifikatsioonis realiseeritud nullpõhine, kuna olete teoreetiliselt tuleks neid tõlgendada kaheksandarvudena, kuid neid tõrkeid põhjustav probleem on see, et paljud raamatukogud ignoreerivad seda ja viskavad nullist välja lõpuks käsitlevad nad väärtust kümnendarvuna.

Näiteks selleks, et mõista, kuidas nendes vigades IP -aadresse tõlgendatakse, on kaheksandarv 0177 kümnendkohaga ja sellega saab ründaja taotleda ressurssi, mis määrab väärtuse "127", mida, kuna seda ei võeta kaheksandina on selle kümnendmärgistus "0177.0.0.1".

See on põhjus, miks ühe probleemse raamatukogu kasutamise korral, rakendus ei tuvasta aadressi esinemist 0177.0.0.1 alamvõrgus 127.0.0.1, kuid tegelikult saab päringu saatmisel helistada aadressile "0177.0.0.1", mille vale tõlgendamise tõttu töötlevad võrgufunktsioonid seda kui 127.0.0.1. Sarnaselt saab juurdepääsu sisevõrgu aadressidele petta ja kontrollida, määrates erinevad väärtused, mida ründaja võimaliku ärakasutamise jaoks hindab.

Küljel Rust, leiti, et probleem hõlmab standardset raamatukogu "std :: net" ja mis on juba kataloogitud "CVE-2021-29922" all. See kirjeldab seda selle teegi IP -aadressi parser tühistab väärtuste ees nulli aadressist, kuid ainult siis, kui ei ole määratud rohkem kui kolme numbrit, näiteks "0177.0.0.1" tõlgendatakse kehtetu väärtusena ja vastuseks tagastatakse vale tulemus.

Rust-lang standardse "net" teegi kaheksandstringi sisestuse valideerimine võimaldab autentimata kaugründajatel sooritada määramatuid SSRF-, RFI- ja LFI-rünnakuid paljudele programmidele, mis sõltuvad ruust-lang std :: netist. IP -aadressi oktettid jäetakse ribadeks, selle asemel et neid hinnata kehtivate IP -aadressidena.

Samuti mainitakse, et rakendused, mis kasutavad raamatukogu std :: net :: IpAddr määratud aadresside parsimisel kasutaja poolt on potentsiaalselt vastuvõtlikud SSRF -rünnakutele (serveripoolse taotluse võltsimine), RFI (kaugfailide kaasamine) ja BIA (kohalike failide lisamine). Samamoodi võib ründaja sisestada 127.0.026.1, mis on tegelikult 127.0.22

Näiteks ründaja, kes saadab IP -aadressi veebirakendusele, mis põhineb std :: net :: IpAddr, võib põhjustada SSRF -i, sisestades kaheksandilised sisendandmed; Ründaja võib saata kasutatavaid IP -aadresse, kui oktett sisaldab 3 numbrit, minimaalne kasutatav oktett 08, mis viib teenuse keelamiseni, ja maksimaalne kasutatav oktett 099, mis viib ka teenuse keelamiseni. 

Kui soovite selle haavatavuse kohta rohkem teada saada Rustis saate üksikasju kontrollida Järgmisel lingil. Samuti mainitakse, et haavatavus parandati haru Rust 1.53.0 kaudu.

Niipea kui mõjutavale probleemile Go, mainitakse, et see kuulub standardse raamatukogu "net" alla ja see on juba loetletud CVE-2021-29923 all. Kirjelduses on mainitud, et võimaldab autentimata kaugründajatel teha SSRF-, RFI- ja LFI -rünnakuid määramata paljudes programmides, mis sõltuvad golangi sisseehitatud võrgust. Funktsioon ParseCIDR. Üksikud CIDR -i IP -oktetid eemaldatakse, selle asemel, et hinnata neid kehtivate IP -oktettidena.

Näiteks võib ründaja edastada väärtuse 00000177.0.0.1, mis võrgus kontrollimisel parsitakse funktsiooni ParseCIDR 177.0.0.1/24, mitte 127.0.0.1/24. Probleem avaldub ka Kubernetese platvormil. Haavatavus parandati Go versioonis 1.16.3 ja beetaversioonis 1.17.

Saate selle kohta rohkem teada saada selle haavatavuse kohta Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.