Kwetsbaarheid bij het uitvoeren van code in liccue bij het uploaden van bestanden in GNOME

Er is een kwetsbaarheid (CVE-2023-43641) geïdentificeerd in de libcue-bibliotheek, die wordt gebruikt om metagegevens te parseren die informatie bevatten over de volgorde en duur van audiotracks, waardoor code-uitvoering kan plaatsvinden bij het verwerken van speciaal ontworpen cue-bestanden. De bibliotheek wordt gebruikt in sommige mediaspelers en audio-editors, waaronder Audacious, en kan worden gebruikt om systemen in gevaar te brengen door er niet-vertrouwde gegevens aan bloot te stellen.

Bovendien wordt de libcue-bibliotheek gebruikt in de tracker-miners-zoekmachine die wordt gebruikt in de GNOME-gebruikersomgeving. Omdat tracker-miners automatisch nieuwe mediabestanden in de homedirectory indexeren, om GNOME-systemen aan te vallen en de aanvallercode uit te voeren, hoeft de gebruiker alleen maar een speciaal vervaardigd bestand te uploaden naar de ~/Downloads, ~/Music of ~ /Videos-map, zonder deze te hoeven openen (in sommige gevallen is bijvoorbeeld klikken op een link in de browser voldoende).

De onderzoekers die de kwetsbaarheid ontdekten, ontwikkelden een werkende exploit en demonstreerden de mogelijkheid om omgevingen te exploiteren op basis van Ubuntu 23.04 en Fedora 38. De exploitcode wordt later gepubliceerd, zodat gebruikers de tijd hebben om de patch te installeren. De exploit is stabiel, maar vereist aanpassing voor elke distributie.

De kwetsbaarheid wordt veroorzaakt door een integer-overflow in de parseercode van de INDEX-parameter en treedt op bij het opgeven van te grote numerieke waarden in deze parameter die niet passen in het type ‘int’. Om een ​​string naar een getal te converteren, gebruikt u de atoi-functie. Als u bijvoorbeeld het getal 4294567296 opgeeft, wordt dit geconverteerd naar -400000. De kwetsbaarheid wordt rechtstreeks veroorzaakt doordat de resulterende waarde niet wordt gecontroleerd om er zeker van te zijn dat deze negatief kan zijn. Als resultaat wordt in de code na de atoi-conversie de bewerking “track->index[i] = ind” uitgevoerd, waarbij aan “i” een negatief getal kan worden toegewezen om het geheugengebied buiten de buffer te overschrijven met de waarde “ind”, dat ook wordt geladen vanuit het bestand dat wordt verwerkt.

Op de meeste GNOME-distributies zijn tracker-miners standaard ingeschakeld en geladen als een harde afhankelijkheid van de Nautilus-bestandsbeheerder (GNOME Files). Om tracker-miners voor de huidige gebruiker uit te schakelen, kunt u de opdrachten gebruiken: systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps .service tracker-writeback .service tracker reset --hard

Bron: opennet.ru

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster