In de pakketbeheerder Cargo, die wordt gebruikt voor het beheren van pakketten en het bouwen van projecten in de programmeertaal Rust, zijn twee kwetsbaarheden ontdekt die kunnen worden misbruikt bij het downloaden van speciaal geconfigureerde pakketten uit externe repositories (er wordt gesteld dat gebruikers van de officiƫle repository crates.io niet door het probleem worden getroffen). De eerste kwetsbaarheid (CVE-2022-36113) maakt het mogelijk om de eerste twee bytes in elk bestand te overschrijven, afhankelijk van de huidige toegangsrechten. De tweede kwetsbaarheid (CVE-2022-36114) kan worden gebruikt om de beschikbare schijfruimte uit te putten.
De kwetsbaarheden zullen worden verholpen in de release van Rust 1.64, gepland voor 22 september. De kwetsbaarheden hebben een laag niveau van gevaar, aangezien vergelijkbare schade kan worden veroorzaakt door het gebruik van niet-gecontroleerde pakketten uit externe repositories via de standaardfunctionaliteit om eigen handlers uit de meegeleverde build-scripts of procedurele macro's uit te voeren. Deze bovengenoemde problemen onderscheiden zich doordat hun exploitatie plaatsvindt in de fase van het onthullen van het pakket na het downloaden (zonder bouwen).
Specifiek, na het downloaden van een pakket pakt Cargo de inhoud uit in de map ~/ .cargo en slaat het teken van een succesvolle uitpakking op in het bestand .cargo-ok. De essentie van de eerste kwetsbaarheid is dat de maker van het pakket een symbolische link met de naam .cargo-ok kan plaatsen, wat er toe zal leiden dat de tekst 'ok' in het bestand wordt geschreven waar de link naar wijst.
De tweede kwetsbaarheid wordt veroorzaakt door het ontbreken van een beperking op de grootte van de gegevens die uit het archief worden uitgepakt, wat kan worden gebruikt om 'zip-bommen' te creƫren (in het archief kunnen gegevens worden geplaatst die de maximale compressiegraad voor het zip-formaat bereiken - ongeveer 28 miljoen keer, in dit geval zou bijvoorbeeld een speciaal voorbereid zip-bestand van 10 MB leiden tot het uitpakken van ongeveer 281 TB aan gegevens).
Bron: opennet.ru
