雲服務和遊戲系統或被輕易入侵!Squirrel Engine漏洞可使黑客執行任意程式碼
Squirrel程式語言中的越界讀取漏洞可讓攻擊者突破沙盒限制,並在Squirrel虛擬機器 (VM) 中執行任意程式碼,從而使惡意行為者能夠完全訪問底層機器。
鑑於Squirrel在遊戲中並嵌入物聯網 (IoT) 中,該漏洞可能危及數百萬每月玩電子遊戲(如反恐精英:全球攻勢和門戶 2)以及雲服務(如在Twilio電器進出口物聯網平臺),其準備使用的開原始碼庫。
Squirrel是一種開源、物件導向的程式語言,用於視訊遊戲和雲服務的定製和外掛開發。它是一種輕量級的指令碼語言,適合視訊遊戲和嵌入式系統等應用程式的大小、記憶體頻寬和實時需求。
上面提到的兩個遊戲都使用Squirrel Engine遊戲庫,讓玩家能夠建立自定義遊戲模式和地圖。
跟蹤為CVE-2021-41556,當使用稱為Squirrel Engine的遊戲庫執行不受信任的程式碼並影響 Squirrel 的穩定版本分支 3.x 和 2.x時,就會出現此問題。CVE-2021-41556的Squirrel越界讀取漏洞可在使用Squirrel引擎執行不受信任的程式碼時被利用,例如Twilio Electric Imp或某些視訊遊戲。
安全研究人員解釋稱:“當伺服器所有者下載並安裝這個惡意地圖到他的伺服器上時,Squirrel 指令碼就會被執行,逃離它的虛擬機器,並控制伺服器機器。”
在定義 Squirrel 類時,安全漏洞涉及“通過索引混淆進行的越界訪問”。研究人員解釋說:“事實上,在索引中設定位標誌是有問題的,因為攻擊者完全有可能建立一個具有0x02000000方法的類定義。” 他們建立了以下“非常簡單”的概念證明 (PoC):只需一小部分程式碼,就可以利用這些程式碼劫持程式,並授予攻擊者對Squirrel VM的完全控制。
根據分析,“rawset和rawget函式允許我們方便地訪問給定類的成員。”在這個PoC中,Squirrel 直譯器將解引用空指標和段錯誤,因為_defaultvalues陣列還沒有被分配。
攻擊者可以通過以下方式觸發漏洞:
建立具有0x02000005方法和0x1欄位的類定義
使用對應的索引0x02000005訪問該方法
當設定了位標誌0x02000000時,_isfield()巨集為該索引返回true
使用索引0x5訪問_defaultvalues陣列。但是,它只包含0x1項,因此攻擊者已經越界訪問了。
該漏洞很危險,因為惡意行為者可以設定可以讀取和寫入值的虛假陣列。通過這樣做,研究人員發現他們可以他們通過重寫函式指標來“劫持程式的控制流,並獲得對Squirrel VM的完全控制”。
網路安全研究團隊提供了下圖,顯示了攻擊者控制的指標鏈,可以對整個地址空間進行讀寫:
Squirrel GitHub儲存庫已修補
Squirrel GitHub 儲存庫的維護者在8月份承認了該漏洞。9月16日,作為程式碼提交的一部分推出了一個補丁。
但正如The Hacker News所指出的,這些更改並未包含在新的穩定版本中,最新的正式版本 (v3.1)於2016年3月27日釋出。
因此,發現該漏洞的研究人員“高度”推薦在專案中使用Squirrel的維護人員應用可用的修復程式提交,以防止攻擊。
在敏捷開發的今天,越來越多的開原始碼及元件被開發人員引入到應用程式中來。相信任何企業都不想遭到網路攻擊,但將不安全的程式碼引入軟體會大大增加遭到網路攻擊風險。建議企業在軟體開發過程中或進行DevsecOps建設時,進行 靜態程式碼安全檢測及開原始碼安全測試,以確保自研程式碼及開原始碼安全,同時提高軟體安全性降低遭到網路攻擊的風險。
參讀連結:
https://threatpost.com/squirrel-attackers-execute-code-games-cloud-services/175586/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2838491/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Django任意程式碼執行漏洞分析Django
- 輕易實現基於linux或win執行的聊天服務端程式Linux服務端
- VMwareMac版本漏洞可任意執行惡意程式碼REMMac
- Acer和華碩電腦漏洞曝光,可導致任意程式碼執行
- IE 5.5 Index.dat 執行任意程式碼漏洞 (轉)Index
- GitHub漏洞允許任意程式碼執行,Windows不受影響GithubWindows
- 中國黑客入侵ModelS系統特斯拉發更新修復漏洞黑客
- 利用CouchDB未授權訪問漏洞執行任意系統命令
- Firefox,Chrome中的高危漏洞允許執行任意程式碼FirefoxChrome
- 流行 VPN 包含允許執行任意程式碼的安全漏洞
- 烽火狼煙丨Apache Commons Text 任意程式碼執行漏洞Apache
- java程式在windows系統作為服務程式執行JavaWindows
- 修復Apache Log4j任意程式碼執行漏洞安全風險通告Apache
- Git 爆任意程式碼執行漏洞,所有使用者都受影響Git
- 百度搜尋:藍易雲【Ubuntu系統如何啟動、停止或重啟服務。】Ubuntu
- 戰鬥的民族:入侵銀行系統的黑客已被抓黑客
- 易售後(商務售後服務系統)
- FBI破解iPhone的漏洞被堵了!蘋果說要對抗黑客入侵iPhone蘋果黑客
- 懸鏡安全丨Java 反序列化任意程式碼執行漏洞分析與利用Java
- Linux Sudo 被爆重要漏洞,允許黑客提權執行root命令Linux黑客
- WordPress4.6任意命令執行漏洞
- 防範ASP網站漏洞及黑客入侵網站黑客
- 新的PHP高危漏洞可導致黑客執行遠端程式碼攻擊PHP黑客
- ThinkPHP遠端程式碼執行漏洞PHP
- phpunit 遠端程式碼執行漏洞PHP
- 微軟Wind10更新助手存在漏洞:黑客可執行SYSTEM許可權程式碼微軟黑客
- Linux sudo 被曝提權漏洞,任意使用者均能以 root 身份執行命令Linux
- 被解救的程式碼 - 程式碼即服務時代來了!
- Windows10系統停止正在執行服務的方法Windows
- .net core 建立系統服務專案並部署執行
- 系統被入侵後的恢復(轉)
- 統計程式碼行數簡易程式
- 最新漏洞:Spring Framework遠端程式碼執行漏洞SpringFramework
- RCE(遠端程式碼執行漏洞)原理及漏洞利用
- Joomla遠端程式碼執行漏洞分析OOM
- OpenWRT 曝遠端程式碼執行漏洞
- XYHCMS 3.6 後臺程式碼執行漏洞
- 更輕鬆執行Android應用程式或遊戲——基於亞馬遜雲科技Amazon EC2雲伺服器Android遊戲亞馬遜伺服器