Raziskovalci iz ekipe Google Project Zero so podrobno preučili tehniko za ustvarjanje delujočega eksploita, ki omogoča oddaljeno izvajanje lastne kode z dovoljenji jedra Linux, prek pošiljanja SMS- ali RCS-sporočila s posebej oblikovanim zvočnim prilogom. Napad se izvede brez kakršnegakoli ukrepanja uporabnika, vključno s tem, da ne zahteva ogledovanja ali poslušanja prejetega sporočila.
V eksploitu sta vključeni dve ranljivosti: v knjižnici Dolby Unified Decoder (CVE-2025-54957) in v gonilniku bigwave za jedro Linux (CVE-2025-36934). Prej je bilo za izkoriščanje ranljivosti v kodekih potrebno, da uporabnik posluša ali ogleda prejeti zlonamerni vsebinski material. Po integraciji AI pomočnikov v zadnjih različicah Android različic se prejeti multimedijski material samodejno dekodira po prejemu, kar znatno povečuje površino napadov, ki ne zahtevajo ukrepanja uporabnika (0-click). V kontekstu zvočnih SMS- in RCS-sporočil aplikacija Google Messages s pomočjo storitve com.google.android.tts samodejno oblikuje transkripcijo za uporabo na zvočnih sporočilih pri iskanju po besedilu, kar omogoča izkoriščanje ranljivosti v obstoječih zvočnih kodekih brez sodelovanja uporabnika.
Težava v Dolby Unified Decoder je povzročena s prelivanjem celih števil pri izračunu velikosti pomnilnika za obdelovane podatkovne strukture syncframe, kar se lahko izkorišča za zapisovanje izven dodeljenega pomnilnika. Kot rezultat prelivanja lahko pride do prepisovanja kazalnika, ki se uporablja pri obdelavi naslednjega sinhroniziranega okvira, kar omogoča prepisovanje funkcijskega kazalnika s podatki, kontroliranimi od napadalca, in izvajanje svoje kode z dovoljenji 'mediacodec', ki so omejena preko SELinux.
Za izkoriščanje jedra Linux je bila vključena ranljivost v gonilniku bigwave, ki je odgovoren za delo s simbolnim napravo /dev/bigwave, do katerega je bil omogočen dostop iz SELinux konteksta 'mediacodec'. Ranljivost je omogočila prepisovanje strukture jedra preko manipulacij z ioctl klicem BIGO_IOCX_PROCESS in dosego izvajanja kode z dovoljenji jedra.
Ranljivost v knjižnici Dolby Unified Decoder (libcodec2_soft_ddpdec.so), ki omogoča dekodiranje formatov Dolby Digital (DD, AC-3) in Dolby Digital Plus (DD+, EAC-3), ni specifična za Android in programsko opremo za Pixel 9, temveč se pojavlja tudi na drugih platformah (Samsung S24, MacBook Air M1, iPhone 17 Pro, Windows, ChromeOS itd.). V Android repozitoriju AOSP in programski opremi za Samsung S24 se za procese, zagnane v kontekstu mediacodec, uporablja seccomp-filter sistemskih klicev, ki otežuje nadaljnje izkoriščanje ranljivosti v jedru. V programski opremi za Pixel 9 tak filter ni bil prisoten. Od napadov bi zaščitil mehanizem Memory Tagging (MTE), vendar je dostopen za naprave Pixel 8+ le kot opcija, ki se aktivira pri vklopu načina „Napredna zaščita“. V macOS in iOS izkoriščanje otežuje sestavljanje knjižnice z zastavico „-fbounds-safety“, ki uvaja dodatne preverbe izven meja tabel, kar zmanjšuje zmogljivost.
Raziskovalci posebej obravnavajo težave s prenosom popravkov za ranljivost v Dolby Unified Decoder do uporabnikov. Podatki o ranljivosti so bili javno razkriti 82 dni pred prenosom popravka do uporabnikov naprav Pixel. Podjetje Dolby je bilo obveščeno o težavi 26. junija 2025. Prvo binarno popravilo je bilo izdano 18. septembra za ChromeOS, vendar je podjetje Dolby za naprave Android ponudilo binarne popravke šele 8. oktobra. 15. oktobra je bila javno razkrita informacija o ranljivosti. 12. novembra je Samsung izdal popravilo, in šele 5. januarja je bilo objavljeno popravilo za naprave Pixel. Širitev popravka za vse naprave Android je zahtevala 139 dni.
V Dolby Unified Decoder je bila ranljivost odkrita v manj kot dveh dneh, v gonilniku BigWave pa manj kot dan po recenziji. Čas dostave za razvoj delujočega eksploita za ranljivost v Dolby Unified Decoder je ocenjen na 8 tednov pri delu enega raziskovalca, za BigWave pa 3 tedne. V objavljenem poročilu 14. oktobra je podjetje Dolby ranljivost v Dolby Unified Decoder označilo kot z neznatno stopnjo tveganja, kljub prenosu podrobnosti o razvijajočem se eksploit. Ranljivost v BigWave je bila v Androidu označena z zmerno stopnjo tveganja (Moderate), ker je bila napad mogoča le iz privilegiranega vsebin in nedostopna za neprivilegirane kontekste (po treh mesecih je bil status ranljivosti spremenjen v 'resno težavo').
Izvor: opennet.ru
