作者:
Y78 (Y78)
2025-10-04 18:06:27昨天剛好看到漏洞發現者 RyotaK 寫的技術細節,簡單講一下
有技術背景的可以自己看:
https://flatt.tech/research/posts/arbitrary-code-execution-in-unity-runtime/
在 Android 上,手機 app 可以透過發起一個叫 intent 的東西打開另一個 app
打開的時候可以傳參數過去
而 Unity 在這部分沒有處理好,導致會直接載入其他 app 傳來的程式碼
因此一個惡意 app 就可以透過這種方式,再利用 Unity 包出來的遊戲執行程式碼
這是第一種攻擊方式
再強調一次
攻擊前提是:你先裝了一個惡意 app,再透過這個惡意 app 攻擊 Unity 引擎
攻擊成功之後,就看你原本遊戲有什麼權限,就可以拿到什麼權限
但由於你要先裝一個惡意 app
在你裝惡意 app 的時候,它其實本來就可以做很多事了,不需要透過 Unity
透過 Unity 就只是可以偷到這個 app 的更多資料,或是拿到更多權限
例如說 app 通常只有自己能存取自己的東西
因此透過 Unity 這個漏洞,可以讓其他 app 來把你東西偷走
第二種攻擊方式是,有些 app 會可以利用 URL 去發這個 intent
就不需要先裝惡意 app(這個不是預設的設置,需要開發者自己加上)
但由於 Android 本身的權限問題,會阻擋一些可疑位置的檔案載入
所以還需要搭配 app 本身的機制,想辦法讓攻擊者能夠寫一個檔案
接著再載入這個檔案才行
換句話說,假設一個遊戲要有問題,它本身的機制必須能讓攻擊者去寫入檔案
原文給的案例是 Facebook Messenger 的快取可以被攻擊者控制,利用它寫檔案
但遊戲的話應該就是 case by case 了,要先找到能控制寫檔案的方法
才有辦法寫入惡意程式碼,然後利用 URL 執行
總結一下,根據作者自己的技術細節,攻擊要成立的前提是:
1. 你已經裝了一個惡意 app
或是底下三個條件同時滿足:
1. 遊戲支援透過 URL 的方式打開
2. 攻擊者可以透過遊戲本身的機制,寫一個檔案並控制內容
3. 你點了一個惡意 URL,觸發 Unity 漏洞
由於文章只有寫到 Android 的,因此不太確定其他平台的細節
這漏洞之所以嚴重,是因為被觸發之後就可以控制 Unity 打包出來的 app
但觸發條件是否容易,就看大家怎麼想了
作者:
zseineo (Zany)
2025-10-04 18:07:00推
作者:
WayThuz (歡喜利樂包)
2025-10-04 18:09:00推
作者:
nahsnib (悟)
2025-10-04 18:09:00反正就是不要隨便點連結,然後正常的遊戲沒事
作者:
togs (= =")
2025-10-04 18:10:00惡意APP通常從哪種管道被安裝,或如何得知自己有沒有裝
作者:
e5a1t20 (吃飯)
2025-10-04 18:10:00推
作者:
a205090a (CAN DO IT)
2025-10-04 18:12:00網路下載的apk 檔
作者: aoke (凌溪) 2025-10-04 18:12:00
上一篇的Unity公告網頁下面有寫說IOS跟遊戲機還沒找出可能性但是為了以防萬一還是請更新這樣
作者:
ltytw (ltytw)
2025-10-04 18:13:00家裡長輩 很容易會被騙裝不明APP阿
作者:
a205090a (CAN DO IT)
2025-10-04 18:14:00內文還有提到一件事 不確定unity能不能滿足遠端攻擊的條件 如果不能的話 其實就是偷偷個資的事而已
作者:
XFarter (劈哩啪啦碰碰碰)
2025-10-04 18:15:00但如果像是 Web-based 的 Unity Engine 的套件的話呢?
作者:
togs (= =")
2025-10-04 18:16:00感謝回應
作者:
eva05s (◎)
2025-10-04 18:17:00推個
與其說"惡意","任意"寫來利用這漏洞的APP更準確
作者:
iuytjhgf (′‧ω‧‵)
2025-10-04 18:19:00安卓你不搞Root的話要中招的算低但Windows系統 就問在座有多少人是開administrator在用?
作者:
SPDY (Alex)
2025-10-04 18:20:00利用Unity還是要看OS有什麼洞能鑽或有給什麼權限
作者:
XFarter (劈哩啪啦碰碰碰)
2025-10-04 18:30:00我個人的粗淺理解是雖然研究者實踐這個洞的方式是用 Android ,但這個洞的成因是 Unity 沒有做啟動參數的資料驗證後就直接「執行」,所以這一修才不是只影響到 Android 平台而是大家都中
看起來就借Unity之手運行惡意程式碼 但遊戲有寫入檔
作者:
Richun (解放左手的OO之力)
2025-10-04 18:35:00通常都會看OS給到多大權限,Windows通常最危,Android則是有資料外洩的可能,iOS看有沒有類intent的機制做直接通訊
ios的封閉機制就專防這種App伸出髒手的,沒事才是預料之中
作者:
XFarter (劈哩啪啦碰碰碰)
2025-10-04 18:38:00我後來想了一想 除了盜版以外其實第三方套件、Mod 甚至翻譯包都有可能可以利用這個洞==
簡單來說 只要你App不是從Goole/Apple商店載的都能預設是惡意 但不代表Google Play跟App Store裡的就一定安全
作者: cpu885 (cpu885) 2025-10-04 18:43:00
推
遊戲只要有存檔功能就會有檔案讀寫權限 遊戲主機的提權漏洞有很大一部分是遊戲有漏洞導致
作者:
r24694648 (damnTurtleggs)
2025-10-04 18:45:00感謝內容,推
作者: tn1983 2025-10-04 18:50:00
PC啟動遊戲裝第三方MOD就有機會中
作者: SunnyBrian (人気薄二冠馬) 2025-10-04 19:06:00
推,看不懂但有點安心了
前面覺得還好反正手機只拿來工作用而已 但看到23樓後有點怕了-.-
作者:
WiLLSTW (WiLLS)
2025-10-04 19:50:00透過Url打開的遊戲 有些手遊會做轉去外面儲值之後自己幫你連回遊戲內的還有就是安卓裝app的時候真的要檢查一下他到底要開哪些權限
作者:
hwider (海裡的星辰)
2025-10-04 20:09:00謝謝分享
作者: namirei (哎呀奈米光) 2025-10-04 20:12:00
推
作者:
iam1vol (Timmy)
2025-10-04 20:15:00推
作者:
w9515 (卡卡)
2025-10-04 20:39:00推 謝分享
請問 文章中提到的 Facebook Messenger相關資訊在哪啊?喔 看到了 原來是pdf 沒事
我網路不知為何卡爛 看不到這個PDF 先發表我的簡單看法文章中的示範指令都有明確代入package name 也就是說必需先知道想要啟用的app的具體package name,才會受影響另外透過URL啟動app的方式應該是指DeepLink 就像大家使用手機看網頁時 點下去會跳出問你是否要由某某app開啟這是因為那些app有宣告一個特定的pattern。當android發現你點的網址有這個pattern,就會問你是否要啟動該APP但文章中有提到 他也是去讀特定路徑下的惡意檔案 所以如果你手機裡並沒有該惡意檔案 其實根本不用太擔心 但考慮
作者:
jackyT (Ubuntu5566)
2025-10-04 21:14:00我昨天看到也一直在想什麼遊戲會自訂URI 實在想不到
文章中說可以透過讀cache的方式搞鬼 我就不知道是否能夠combo出其它行為來造成更大的破壞另外這看起來出問題時,你的app也會被打開彈出來 所以會比較容易被觀測到目前看起來感覺有點像SQL injection的那種狀況 就是那種code沒寫好 使用者故意在帳密那邊打特定字串來破解
作者:
XFarter (劈哩啪啦碰碰碰)
2025-10-04 21:30:00看起來跟 SQL 的結果很像 但成因不同吧
作者:
avans (阿緯)
2025-10-04 22:31:00推說明
作者:
hanmas 2025-10-04 22:43:00推