De fant sårbarheter i nettverksbibliotekene til Rust and Go som forhindrer IP -validering

nylig informasjon om sårbarheter ble utgitt som ble funnet i språkbibliotekene Rust and Go, som er knyttet til feilhåndtering av IP -adresser med oktalsifre i adresseanalysefunksjoner.

Det nevnes at eDisse sårbarhetene lar deg unngå verifikasjoner av gyldige adresser ogn-applikasjoner, for eksempel for å organisere tilgang til loopback-grensesnittadresser eller intranettundernett når spoofing-angrep på serversiden utføres.

Sårbarhetene på disse to språkene IP -adressestrenger har realisering i spesifikasjonen nullbasert, siden du er i teorien bør de tolkes som oktaltall, men problemet som forårsaker disse feilene er at mange biblioteker ignorerer dette og bare forkaster null, således de ender opp med å behandle verdien som et desimaltall.

For eksempel, for å forstå hvordan IP -adresser tolkes i disse feilene, er tallet 0177 i oktal 127 i desimal og som en angriper kan be om en ressurs som angir verdien "0177.0.0.1", som siden den ikke er tatt som oktal er desimalnotasjonen for dette "127.0.0.1".

Det er derfor ved bruk av et av de problematiske bibliotekene, programmet vil ikke oppdage forekomsten av adressen 0177.0.0.1 i delnettet 127.0.0.1, men faktisk, når du sender en forespørsel, kan adressen "0177.0.0.1" kalles, som på grunn av feiltolkning vil nettverksfunksjonene behandle dette som 127.0.0.1. Tilsvarende kan tilgang til intranettadresser bli lurt og verifisert ved å spesifisere forskjellige verdier, som angriperen vil evaluere for mulig utnyttelse.

På siden av Rust, problemet ble funnet å være underlagt standardbiblioteket "std :: net" og som allerede er katalogisert under "CVE-2021-29922". Det beskriver det dette bibliotekets IP -adresse parser forkaster en null foran verdiene adressen, men bare hvis det ikke ble spesifisert mer enn tre sifre, for eksempel vil "0177.0.0.1" tolkes som en ugyldig verdi og et feil resultat returneres som svar.

Feil validering av oktal strenginngang i rust-langs standard "net" -bibliotek lar uautentiserte eksterne angripere utføre ubestemte SSRF-, RFI- og LFI-angrep på mange programmer som er avhengige av rust-lang std :: net. Oktettene til IP -adressen forlates strippet i stedet for å bli evaluert som gyldige IP -adresser.

Det nevnes også at applikasjoner som bruker biblioteket std :: net :: IpAddr når du analyserer angitte adresser av bruker er potensielt utsatt for SSRF -angrep (forfalskning på serversiden), RFI (ekstern inkludering av filer) og BIA (inkludering av lokale filer). På samme måte kan en angriper angi 127.0.026.1, som faktisk er 127.0.22

For eksempel kan en angriper som sender en IP -adresse til et webprogram som er basert på std :: net :: IpAddr forårsake SSRF ved å skrive inn oktale inndata; En angriper kan sende utnyttbare IP -adresser hvis oktetten har 3 sifre, med minimum utnyttet oktett 08 som fører til tjenestenekt og maksimal utnyttbar oktett 099 som også fører til tjenestenekt. 

Hvis du vil vite mer om dette sikkerhetsproblemet i Rust, kan du sjekke detaljene I den følgende lenken. Det nevnes også at sårbarheten ble løst i Rust 1.53.0 -grenen.

Så snart til problemet som påvirker to Go, nevnes det at dette er underlagt standardbiblioteket «net» og den er allerede oppført under CVE-2021-29923. I beskrivelsen nevnes det lar uautentiserte eksterne angripere utføre SSRF-, RFI- og LFI -angrep ubestemt i mange programmer som er avhengige av golangs innebygde nett.ParseCIDR-funksjon. Individuelle CIDR IP -oktetter blir strippet i stedet for å evaluere dem som gyldige IP -oktetter.

For eksempel kan en angriper passere verdien 00000177.0.0.1, som, når den sjekkes inn i net.ParseCIDR -funksjonen, blir analysert som 177.0.0.1/24, ikke 127.0.0.1/24. Problemet manifesterer seg også på Kubernetes -plattformen. Sårbarheten ble løst i Go versjon 1.16.3 og beta versjon 1.17.

Du kan lære mer om det om denne sårbarheten I den følgende lenken.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.