Libcue teegis, mis kasutatakse heliradade metaandmete ja kestuse analĂŒĂŒsiks, avastati haavatavus (CVE-2023-43641), mis vĂ”imaldab koodi tĂ€itmist spetsiaalselt vormindatud cue-failide töötlemisel. Teeki kasutatakse mĂ”nedes multimeedia mĂ€ngijates ja heliredaktoreis, sealhulgas Audaciousis, ning see vĂ”ib vĂ”imaldada sĂŒsteemi kompromiteerimist, kui avatakse kontrollimata andmeid.
Lisaks kasutatakse libcue teeki otsingumootoris tracker-miners, mis on rakendatud GNOME kasutajakeskkonnas. Kuna tracker-miners indekseerib automaatselt uusi multimeediafaile kodukataloogis, piisab GNOME sĂŒsteemide rĂŒndamiseks ja koodi tĂ€itmiseks sellest, et kasutaja laadib spetsiaalselt vormindatud faili katalooge ~\/Downloads, ~\/Music vĂ”i ~\/Videos, ilma et seda oleks vaja avada (nĂ€iteks mĂ”ningatel juhtudel piisab lihtsalt brauseris lingile klikkimisest).
Haavatavuse avastanud teadlased on valmistanud töövÔimeka eksploiidi ja demonstreerinud selle toimimist Ubuntu 23.04 ja Fedora 38 pÔhistel keskkondadel. Eksploiidi kood avaldatakse hiljem, et anda aega kasutajatele haavatavuse likvideerimise uuenduste rakendamiseks. Eksploit töötab stabiilselt, kuid vajab kohandamist iga jaotuse jaoks.
Haavatavus on pĂ”hjustatud tĂ€isarvu ĂŒlevoolust INDEX parameetri sĂŒntaksireeglites ja avaldub, kui antud parameetris on liiga suurad numbrilised vÀÀrtused, mis ei mahu tĂŒĂŒpi 'int'. Stringi numbriks muutmiseks kasutatakse funktsiooni atoi; nĂ€iteks, kui number 4294567296 antakse, muudetakse see -400000-ks. Haavatavuse pĂ”hjuseks on see, et saadud vÀÀrtuse negatiivsuse kontrollimist ei toimu. See toob kaasa koodi puhul, kus pĂ€rast atoi teisendamist kĂ€ivitatakse operatsioon 'track->index[i] = ind', kus 'i' saab omistada negatiivse numbri, et ĂŒletada mĂ€luruumi vĂ€ljaspool puhver ja kirjutada sinna 'ind', mis samuti laaditakse töödeldavast failist.
Enamikus GNOME-i jaotustes aktiveeritakse komponent tracker-miners vaikimisi ja laaditakse kui tahke sĂ”ltuvus failihaldurilt Nautilus (GNOME Files). Praeguse kasutaja jaoks tracker-miners'i keelamiseks saab kasutada jĂ€rgmisi kĂ€ske: 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
Allikas: opennet.ru
