以色列資安業者E.V.A Information Security本周披露,用於蘋果平臺的程式相依管理工具CocoaPods存在三大漏洞CVE-2024-38366、CVE-2024-38367與CVE-2024-38368,它們都與驗證伺服器Trunk有關,允許未經授權的用戶認領孤兒Pod套件,破壞受害者的會話,甚至可取得Trunk伺服器與基礎設施的最高存取權限。不過,上述漏洞皆已於去年完成修補。

CocoaPods是個開源的應用程式相依性管理工具,目前有超過300萬個行動程式用它來管理10萬個函式庫,廣泛應用在蘋果的Swift與Objective-C專案中。換句話說,只要是針對macOS、iOS、iPadOS或其它蘋果平臺所開發的程式採用CocoaPods,都可能受到波及。

根據E.V.A的說明,CocoaPods所使用的套件稱為Pod,而用來描述套件規格的檔案則是Podspec,檔案中的元資料包含名稱、版本、來源檔案、相依性與其它資料,以將Pod正確地整合到iOS或macOS專案中,當開源社群貢獻Podspec予CocoaPods時,作者需要註冊一個帳戶,用來儲存與維護Pod及Podspec,亦有權上傳或更新資料。

CocoaPods原本是利用這些作者的GitHub帳戶來辨識他們,但在2014年5月遷移到新的Trunk伺服器,作為CocoaPods的集中儲存及發布平臺,並支援電子郵件驗證。

漏洞之一的CVE-2024-38368即與此次的遷移有關。CocoaPods要求Pod作者於Trunk伺服器上重置身分以保留對內容的控制權,迄今卻有1,866個Pod無人認領,Trunk替這些孤兒Pod建置了一個預設的所有人,且全都使用同樣的unclaimed-pods@cocoapods.org電子郵件帳戶。另一方面,CocoaPods還保留了用來宣稱Pod所有權的公共API端點,允許任何人不需經過驗證來宣告Pod的所有權。

因此,當有心人士取得孤兒Pod所有權之後,即能注入惡意程式並危害使用相關Pod的程式。

至於CVE-2024-38366則是當中最危險的漏洞,其CVSS風險評分高達10。此一漏洞允許駭客藉由操縱電子郵件網域MX紀錄驗證以執行遠端程式。它可能允許駭客取得Trunk伺服器與基礎設施的最高存取權限,進而於伺服器上執行任何命令、存取或修改敏感資料,編輯伺服器上的Podspec,以及強制重置所有會話等。

CVE-2024-38367漏洞出現在Trunk會話的驗證步驟,可能允許駭客劫持會話,進而接管其帳戶。

相關漏洞皆已於去年9月修補,儘管沒有已遭攻擊的證據,但E.V.A認為這並不代表它們沒被利用過,建議開發人員應該採取必要措施來保護其程式碼,包括讓podfile.lock檔案與所有CocoaPods同步,確保CocoaPods上的Pod與內部Pod是相同的,避免使用孤兒Pod,定期執行安全掃描,以及小心被廣泛使用的依賴項,因為它們通常也最受駭客青睞。

熱門新聞

Advertisement