威脅情資

【OIS-CTI 情資發送 OIS-CTI-2024-05-002】-【 資安警訊 】- 程式開發語言 R 爆有程式碼執行漏洞,可用於供應鏈攻擊

【 資安警訊 】- 程式開發語言 R 爆有程式碼執行漏洞,可用於供應鏈攻擊


 發布編號 :OIS-CTI-2024-05-002

 情資來源 iThome


 事件類型 :攻擊、漏洞警訊公告


 內容說明


開源碼程式語言 R 被發現有一個允許攻擊者執行惡意程式碼的重大漏洞,開發機構本周發布新版修補。


本漏洞為資安業者 HiddenLayer 研究人員 Kasimir Schulz 和 Kieran Evans 通報,命名為 CVE-2024-27322 。 CERT 公告說明,最新漏洞為一反序列化 (deserialization) 瑕疵,允許惡意檔案在反序列化時執行任意程式碼。這項攻擊若牽涉套件,則可能引發供應鏈攻擊。本漏洞風險值被列為 8.8 。


R 語言支援資料序列化 (data serialization) 。序列化是指將物件轉換成可儲存格式,反序列化則是將儲存格式轉換成物件。序列化和反序列化發生在資料儲存及網路上傳輸,對開發人員來說,也經常發生在程式開發過程中:從套件庫下載套件即牽涉反序列化。但序列化與反序列化過程很容易遭到惡意人士濫用。


R 語言開發使用 RDS 檔案格式進行序列化資料的儲存或傳送。 RDS 格式包括二種: .rdb 檔及 .rdx 檔。R 程式執行過程使用 readRDS 函式從套件庫讀取這二種檔案,再以 eva1 函式評估檔案中的表達式 (expression) 的值,以便將物件由 RDS 檔解壓縮並反序列化,在目標平臺上執行。


研究人員指出, CVE-2024-27322 即牽涉R程式序列化/反序列化過程中,利用 promise 物件及惰性求值 (lazy evaluation) 。在反序列化載入 RDS 檔或套件時,由於 R 援惰性求值 (lazy evaluation) ,未能及時檢查 Promise 物件 RDS 檔中的指令值。攻擊者可建立包含有特定指令值的 RDS 檔,再以社交工程誘使使用者下載。因此若是惡意 RDS 檔,則使用者程式參照 RDS 檔時就會直接執行指令程式碼。若物件是組譯成 R 套件,攻擊者可將之加入 R 儲存庫中,等其他使用者載入該套件時即執行程式碼。研究人員指出,一旦攻擊者只要能覆寫掉原本的 .rdx 或 .rdb 檔,就能以 R 套件發動供應鏈攻擊。


影響平台


  • 使用 R 語言的各種平台和應用程式。


 建議措施


  • R 語言開發單位已發布新版本 R Core Version 4.4.0 解決這項漏洞。安全廠商呼籲開發人員儘速更新。


參考連結

https://www.ithome.com.tw/news/162626

https://cran.r-project.org/doc/manuals/r-release/NEWS.html


If you have any questions, please do not hesitate to contact us.

開啟資安系統股份有限公司 Open Information Security Inc.
網路威脅情資分享 OIS-CTI (OIS Cyber Threat Intelligence)