Kwetsbaarheden in de Cargo-pakketbeheerder die wordt gebruikt voor Rust-projecten

In de Cargo-pakketbeheerder, die wordt gebruikt om pakketten te beheren en projecten te bouwen in de Rust-taal, zijn twee kwetsbaarheden geïdentificeerd die kunnen worden uitgebuit bij het downloaden van speciaal ontworpen pakketten uit repository's van derden (er wordt vermeld dat gebruikers van de officiële krates.io-repository worden niet beïnvloed door het probleem). Door de eerste kwetsbaarheid (CVE-2022-36113) kunnen de eerste twee bytes van elk bestand worden overschreven, zolang de huidige machtigingen dit toelaten. De tweede kwetsbaarheid (CVE-2022-36114) kan worden gebruikt om schijfruimte uit te putten.

De kwetsbaarheden zullen worden opgelost in de release van Rust 1.64, gepland voor 22 september. Aan de kwetsbaarheden is een laag ernstniveau toegekend, omdat vergelijkbare schade kan worden veroorzaakt bij het gebruik van niet-geverifieerde pakketten uit opslagplaatsen van derden met behulp van de standaardmogelijkheid om aangepaste handlers te starten vanuit assemblagescripts of procedurele macro's die in het pakket worden geleverd. Tegelijkertijd verschillen de bovengenoemde problemen doordat ze worden uitgebuit in de fase van het openen van het pakket na het downloaden (zonder montage).

In het bijzonder, na het downloaden van een pakket, pakt cargo de inhoud ervan uit in de map ~/.cargo en slaat een teken van succesvol uitpakken op in het .cargo-ok-bestand. De essentie van de eerste kwetsbaarheid is dat de maker van het pakket er een symbolische link in kan plaatsen met de naam .cargo-ok, wat ertoe zal leiden dat de tekst “ok” wordt geschreven naar het bestand waarnaar door de link wordt verwezen.

De tweede kwetsbaarheid wordt veroorzaakt door het ontbreken van een limiet op de grootte van de gegevens die uit het archief worden gehaald, die kunnen worden gebruikt om ‘zip-bommen’ te maken (het archief kan gegevens bevatten waarmee de maximale compressieverhouding voor het zip-formaat kan worden bereikt – ongeveer 28 miljoen keer (in dit geval zal een speciaal voorbereid zip-bestand van 10 MB bijvoorbeeld resulteren in de decompressie van ongeveer 281 TB aan gegevens).

Bron: opennet.ru

Voeg een reactie