Google inženieris, kurš uztur Android Debug Bridge pirmkodu, ierosinājis pilnībā slēgt adbd pieslēgumus pa loopback saskarni. Ja priekšlikums nonāks Android kodā, uz pašas ierīces vairs nedarbosies Shizuku, App Manager, aShell un vēl vismaz pusducis rīku, ar kuriem lietotāji pielāgo sistēmu bez root tiesībām.
Iemesls ir CVE-2026-0073, autentifikācijas apiešana bezvadu ADB savienojumā. Google to aizlāpīja 2026. gada 1. maija drošības ielāpu līmenī. Pieteikums Google kļūdu reģistrā sākotnēji prasīja pavisam ko citu: iespēju izvēlēties, kurām tīkla saskarnēm adbd piesaistās. Diskusija tajā aizgāja daudz tālāk par sākotnējo lūgumu.
Kļūda slēpjas vienā atgrieztajā skaitlī
CVE-2026-0073 atrodas funkcijā adbd_tls_verify_cert failā auth.cpp. Kad adbd salīdzina saglabāto RSA atslēgu ar klienta uzrādīto TLS sertifikāta atslēgu, tas izsauc OpenSSL funkciju EVP_PKEY_cmp(). Ja klienta atslēga ir cita tipa, piemēram, ECDSA, funkcija atgriež -1. Kods šo rezultātu pārbaudīja kā loģisko vērtību. C++ valodā -1 ir patiess, tāpēc sertifikāta pārbaude izdodas jebkuram, kas atsūta atslēgu ar nepareizu tipu.
Rezultāts ir attālināta koda izpilde shell lietotāja tiesībās bez lietotāja līdzdalības. Uzbrucējam jāatrodas tajā pašā tīklā, upurim jābūt ieslēgtai bezvadu atkļūdošanai. Ar shell tiesībām var palaist pm, am, settings un run-as, nolasīt sistēmas žurnālus, instalēt pakotnes un mainīt iestatījumus. CVSS vērtējums ir 8,8. Skartas Android 14, 15, 16 un 16 QPR2 versijas pirms maija ielāpu līmeņa.
Divi publiski koncepta pierādījumi jau ir pieejami GitHub. Viens no tiem aprakstīts kā ADB bezvadu savstarpējās autentifikācijas apiešanas demonstrācija. Labojums ir 1. maija ielāpu līmenī, taču ierīces, kuras ražotājs atjaunina ar nokavēšanos, joprojām paliek ievainojamas.
Pieteikums prasīja tikai saskarnes izvēli
Kļūdu reģistra pieteikumā 526109803 izstrādātāji lūdza iespēju norādīt, kurām tīkla saskarnēm adbd klausās. Pašlaik demons piesaistās visām pieejamajām saskarnēm, tostarp mobilo datu savienojumam un VPN tunelim. Šaurāka piesaiste samazinātu virsmu, ko uzbrucējs vispār var sasniegt.
Praktiski tas nozīmē, ka ieslēgta bezvadu atkļūdošana atver portu visos tīklos, kuros ierīce atrodas. Tas pats ports ir sasniedzams caur mājas Wi-Fi, caur mobilā operatora piešķirto adresi un caur VPN tuneli, ja lietotājam tāds ir aktīvs. Sākotnējais lūgums bija dot iespēju atstāt vienu saskarni.
Atbildē ADB galvenais uzturētājs no Google piedāvāja krietni plašāku ierobežojumu. Tulkojumā no angļu valodas viņa komentārs skan šādi.
Savienojums ar localhost arī ir bijis ekspluatācijas avots, kur lietotnes izmanto šo ligzdu uz adbd, lai paaugstinātu savas tiesības. Varbūt ierobežojam piesaisti vienmēr tikai uz wifi saskarni wlan0?
Piesaiste tikai pie wlan0 nozīmē, ka lietotne pašā telefonā vairs nevarēs atvērt savienojumu ar adbd caur 127.0.0.1. Uz šī savienojuma balstās viss rootless rīku slānis.
Ko tas nozīmē Shizuku lietotājiem
Vislielāko triecienu saņemtu Shizuku. Rīks Play veikalā ir kopš 2017. gada un strādā vienkārši: lietotājs ieslēdz bezvadu atkļūdošanu, Shizuku pieslēdzas adbd pa loopback, pēc tam citas lietotnes caur Shizuku izsauc Android sistēmas API ar shell tiesībām. Nav vajadzīgs ne root, ne dators.
Skarto rīku sarakstu apkopoja izstrādātājs Kitsumed 20. jūlija ierakstā, kas pēdējoreiz labots 24. jūlijā. Tajā minēti App Manager, aShell, Canta, ShizuWall un ShizuCallRecorder, kā arī bibliotēka libadb-android, uz kuras vairāki no tiem balstās. Ar Canta lietotāji izdzēš ražotāja priekšinstalētās lietotnes. ShizuWall ierobežo atsevišķu lietotņu tīkla piekļuvi. Abas darbības Android atļauj tikai shell tiesībās.
Skarti tiktu arī izstrādātāji, kuri strādā bez otra datora. Android Studio bezvadu atkļūdošana notiek pa tīklu, tātad tā paliktu. Uz pašas ierīces palaisti termināļi, testu skripti un automatizācijas rīki pieslēdzas caur loopback. Tie apstātos.
Loopback ADB izmanto arī pieejamības risinājumi. Automatizācijas rīki, ar kuriem cilvēks ar kustību traucējumiem vada telefonu caur ārēju slēdzi vai balsi, prasa shell līmeņa piekļuvi, ko Android parastai lietotnei nedod. Shizuku savu sesiju zaudē pēc katras ierīces pārstartēšanas un to atjauno tieši pa loopback. Bez šī savienojuma lietotājam pēc katras pārstartēšanas būtu vajadzīgs dators.
Iebildumi Hacker News pavedienā
Kitsumed ieraksts Hacker News savāca 855 punktus un 402 komentārus. Biežākais iebildums: uzbrukums prasa, lai lietotājs pats atvērtu izstrādātāja iestatījumus un ieslēgtu bezvadu atkļūdošanu. Vienā no komentāriem tas nosaukts par nereālistisku vektoru 99,9 % lietotāju.
Pretējais arguments ir tikpat vienkāršs. Lietotāju var pierunāt ieslēgt iestatījumu, kuru viņš nesaprot. Tieši tā izplatās daļa Android krāpniecību.
Komentāros tiek nošķirti trīs atsevišķi jautājumi: autentifikācijas kļūdas labošana, saskarnes izvēles pievienošana un loopback slēgšana. Pret pirmajiem diviem iebildumu praktiski nav. Strīds notiek ap trešo. Vairāki komentētāji to nosauc par mēģinājumu ar drošības argumentu nobloķēt Shizuku.
Vidusceļš, ko piedāvā daļa komentētāju, ir atstāt loopback pieslēgumu aiz atsevišķa slēdža izstrādātāja iestatījumos. Noklusējuma uzvedība kļūtu drošāka, bet Shizuku lietotājs pieslēgumu varētu ieslēgt apzināti. Uz šo variantu pieteikumā vēl nav atbildēts.
Pieteikums 526109803 joprojām ir atvērts. Google tam piešķīris izstrādes resursus, taču neviena koda izmaiņa AOSP repozitorijā vēl nav publicēta.
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.