Zararli SD-karta TomTom Carminat LIVE navigatsiya blokida (ba'zi Renault avtomobillarida ishlatiladi) root darajasidagi kodni bajarishga imkon beradi. Xavfsizlik tadqiqotchisi Rasmus Moorats natijalarni 2026-yil 2-noyabrda e'lon qildi.

U Samsung S5P6440 chipidan foydalanadi va TomTomning maxsus operatsion tizimida ishlaydi, u Linux 2.6.28.10 asosida qurilgan. Bu yadro juda eski va ko'plab zamonaviy ekspluatatsiya himoyalaridan oldin yaratilgan.

Har safar yuklanishda blok SD-kartada master.script nomli faylni qidiradi. Foydalanuvchi "master.scriptni bajarish?" so'rovida "Ha" tugmasini bosishi kerak, shundan keyin u ishga tushadi.

Skript menyu harakatlari uchun maxsus avtomatlashtirish tilidan foydalanadi. Uni tahlil qiladigan ttn dasturi root huquqlari bilan ishlaydi, shuning uchun tahlilchidagi har qanday kamchilik to'liq tizimni egallashga olib kelishi mumkin.

Moorats tahlilchida ikkita zaiflikni topdi. LOG buyrug'i skript nomlagan faylga chop etiladigan matnning bir qatorini yozadi.

U yo'lni tozalamaydi, shuning uchun ../ ketma-ketligi skriptga mo'ljallangan jurnal papkasidan tashqariga yozish imkonini beradi. Bu klassik yo'lni o'tkazish (path traversal) kamchiligi. SHEX buyrug'i qurilmada allaqachon mavjud bo'lgan dasturni ishga tushiradi, lekin u argumentlarni uzata olmaydi.

Moorats 2014-yilgi Renault Latitude avtomobilidagi soatni tuzatmoqchi edi. Bu kichik maqsad uni "beaumont" kod nomli bosh blokka olib keldi. nns.said.

Dastlab ikkala kamchilik ham foydali ko'rinmadi. Root fayl tizimi faqat o'qish (read-only) rejimida edi, va deyarli har bir boshqa bo'lim, jumladan SD-karta, noexec (bajarishni taqiqlovchi) rejimida o'rnatilgan edi, bu esa o'sha bo'limlardan dasturlarni to'g'ridan-to'g'ri bajarishni bloklaydi.

Moorats Linux yadro ekspluatatsiyasidan tanish bo'lgan usulni oldi. U LOG kamchiligidan foydalanib /proc/sys/kernel/core_pattern fayliga yozdi — bu sozlama yadroga jarayon ishdan chiqqanda nima qilishni aytadi.

Romeo zaifligi (Manba: nns).

Qiymat quvur (pipe) belgisi bilan boshlanganda, yadro nomlangan dasturni ishga tushiradi va unga ishdan chiqqan ma'lumotlarni uzatadi. U uni |/bin/sh /media/sdcard/payload.sh qilib o'rnatdi.

Noexec bayrog'i buni bloklamadi, chunki /bin/sh bajariladigan bo'limdagi ikkilik fayl. Qobiq (shell) faqat SD-kartadagi yuklamani ma'lumot sifatida o'qiydi.

Keyin SHEX /bin/dbus-monitor ni ishga tushirdi, u tizim avtobusini topa olmaganda ishdan chiqadi. Yadro ishdan chiqishni hujumchining skriptini root huquqlari bilan ishga tushirish orqali hal qildi.

Butun ekspluatatsiya uch qator: ../../proc/sys/kernel/core_pattern ga ishora qiluvchi #define LOGFILE direktivasi, quvur yuklamasini o'z ichiga olgan LOG qatori, va /bin/dbus-monitor ga SHEX chaqiruvi.

Birinchi isbot kontsepti (proof of concept) shunchaki blokni qayta yukladi, bu root darajasidagi kod bajarilishini tasdiqladi. Moorats keyin bu kirishdan foydalanib ichki eMMC xotirasini dd bilan zaxiraladi. Shuningdek, u settings.dat faylini tahrirlab vaqt zonasini UTC+2 ga o'zgartirdi, bu esa uning asl muammosini hal qildi.

Hujum avtomobilga jismoniy kirishni talab qiladi, va foydalanuvchi skript so'rovini qabul qilishi kerak. Bu masofaviy yoki ommaviy ekspluatatsiyani ehtimoldan yiroq qiladi.

Realistik xavflar — valet xizmati yoki ta'mirlash paytida berilgan buzilgan SD-karta, yoki ijtimoiy muhandislik (social engineering) ssenariysi.

Root kirishi shuningdek, navigatsiya tarixi kabi saqlangan ma'lumotlarni ochib qo'yadi va blokni doimiy o'zgartirishga imkon berishi mumkin. Tadqiqotchining ishi shuni ko'rsatadiki, blokning boshqa himoyalari hujumni to'xtata olmadi.