Даследнікі з каманды Google Project Zero падрабязна разабралі тэхніку стварэння працоўнага эксплоіту, які дазваляе выдалена выканаць свой код з правамі ядра. Linux, праз адпраўку SMS- або RCS-паведамленні са спецыяльна аформленым гукавым укладаннем. Атака ажыццяўляецца без выканання якіх-небудзь дзеянняў карыстачом, у тым ліку не патрабуе прагляду ці праслухоўванні атрыманага паведамлення.
У эксплоіце задзейнічаны дзве ўразлівасці: у бібліятэцы Dolby Unified Decoder (CVE-2025-54957) і драйверы bigwave для ядра Linux (CVE-2025-36934). Раней для эксплуатацыі ўразлівасцяў у кодэках было неабходна, каб карыстач праслухаў ці прагледзеў атрыманы шкоднасны кантэнт. Пасля інтэграцыі AI-памочнікаў у апошніх выпусках Android-прашывак атрыманы мультымедыйны кантэнт аўтаматычна дэкадуецца пасля атрымання, што істотна павялічвае паверхню нападаў, не патрабавальных дзеянняў ад карыстача (0-click). У кантэксце гукавых SMS-і RCS-паведамленняў, прыкладанне Google Messages пры дапамозе сэрвісу com.google.android.tts аўтаматычна фармуе транскрыпцыю для ўжывання да гукавых паведамленняў тэкставага пошуку, што дазваляе без удзелу карыстача эксплуатаваць уразлівасці ў наяўных гукавых кодэках.
Праблема ў Dolby Unified Decoder выклікана цэлалікім перапаўненнем пры разліку памеру буфера пад апрацоўваныя структуры дадзеных syncframe, што можа выкарыстоўвацца для запісу за межы выдзеленага буфера. У выніку перапаўнення можа быць перазапісаны паказальнік, які выкарыстоўваецца пры апрацоўцы наступнага сінхранізавальнага кадра, змена якога, у сваю чаргу, дазваляе перазапісаць кантраляванымі атакавалымі дадзенымі паказальнік на функцыю і арганізаваць выкананне свайго кода з правамі «mediacodec», абмежаванымі праз SELinux.
Для эксплуатацыі ядра Linux была задзейнічана ўразлівасць у драйверы bigwave, які адказвае за працу з сімвальнай прыладай /dev/bigwave , да якой быў адчынены доступ з SELinux-кантэксту «mediacodec». Уразлівасць дазваляла перазапісаць структуры ядра праз маніпуляцыі з ioctl-выклікам BIGO_IOCX_PROCESS і дамагчыся выкананні кода з правамі ядра.
Уразлівасць у бібліятэцы Dolby Unified Decoder (libcodec2_soft_ddpdec.so), якая прадстаўляе функцыі для дэкадавання фарматаў Dolby Digital (DD, AC-3) і Dolby Digital Plus (DD+, EAC-3), не спецыфічная для Android і прашыўкі да Pixel 9, і таксама выяўляецца ў іншых платформах (Samsung S24, MacBook Air M1, iPhone 17 профі, Windows, ChromeOS і да т.п.). У Android-рэпазітары AOSP і прашыўцы да Samsung S24 да працэсаў, якія запускаюцца ў кантэксце mediacodec, ужываецца seccomp-фільтр сістэмных выклікаў, які абцяжарвае далейшую эксплуатацыю ўразлівасцяў у ядры. У прашыўцы для Pixel 9 падобны фільтр адсутнічаў. Ад атакі мог бы абараніць механізм Memory Tagging (MTE), але ён даступны для прылад Pixel 8+ толькі ў форме опцыі, якая актывуецца пры ўключэнні рэжыму «Advanced Protection. У macOS і iOS эксплуатацыю абцяжарвае зборка бібліятэкі са сцягам "-fbounds-safet", якія падстаўляюць дадатковыя праверкі выхаду за мяжу масіваў, якія зніжаюць прадукцыйнасць.
Даследнікамі асобна разбіраюцца праблемы з давядзеннем да карыстальнікаў выпраўлення ўразлівасці ў Dolby Unified Decoder. Звесткі аб уразлівасці былі расчыненыя публічна за 82 дня да давядзення выпраўленні да карыстачоў прылад Pixel. Кампанія Dolby была інфармаваная аб праблеме 26 чэрвеня 2025 года. Першае бінарнае выпраўленне было выпушчана 18 верасня для ChromeOSб, але для прылад Android кампанія Dolby падала бінарныя патчы толькі 8 кастрычніка. 15 кастрычніка была публічна раскрытая інфармацыя аб уразлівасці. 12 лістапада выпраўленне выпусціў Samsung і толькі 5 студзеня было апублікавана выпраўленне для прылад Pixel. Распаўсюджванне патча для ўсіх Android-прылад запатрабавала 139 дзён.
У Dolby Unified Decoder уразлівасць была выяўленая менш чым за два дні, а ў драйверы BigWave – менш чым за дзень рэцэнзавання. Працавыдаткі на распрацоўку працоўнага эксплоіта для ўразлівасці ў Dolby Unified Decoder ацэненыя ў 8 тыдняў пры працы аднаго даследніка, а для BigWave – 3 тыдні. У апублікаваным 14 кастрычніка справаздачы кампаніі Dolby уразлівасць у Dolby Unified Decoder была пазначаная як мелая малаважны ўзровень небяспекі, нягледзячы на перадачу дэталяў аб распрацоўваным эксплоіце. Уразлівасці ў BigWave прысвоілі ў Android сярэдні ўзровень небяспекі (Moderate), матываваўшы гэта тым, што напад магчымая толькі з прывілеяванага кантэнту і недаступная для непрывілеяваных кантэкстаў (праз тры месяцы статус уразлівасці быў зменены на "небяспечная праблема").
Крыніца: opennet.ru
