PHP 專案開發人員警告稱,該專案的 Git 儲存庫遭到入侵,並發現 28 月 XNUMX 日向 php-src 儲存庫添加了兩個惡意提交,提交者分別是 PHP 創始人 Rasmus Lerdorf 和 PHP 主要開發人員之一 Nikita Popov。
由於無法確定託管 Git 儲存庫的伺服器的可靠性,開發人員認為自行維護 Git 基礎設施會帶來額外的安全風險,因此將參考儲存庫遷移至 GitHub 平台,並建議將其作為主要儲存庫。現在所有變更都應傳送至 GitHub,而不是 git.php.net,包括 GitHub Web 介面,現在都可以在開發過程中使用了。
第一個惡意提交以修復 ext/zlib/zlib.c 檔案中的拼字錯誤為幌子,引入了一項更改,如果內容以「zerodium」開頭,則會運行在 User Agent HTTP 標頭中傳遞的 PHP 程式碼。在開發人員注意到並撤銷了該惡意變更後,程式碼庫中出現了第二個提交,該提交撤銷了 PHP 開發人員的操作,並撤銷了惡意變更。
新增的程式碼包含「REMOVETHIS: 已售給 zerodium,2017 年中」這一行,這可能暗示自 2017 年以來,程式碼中又出現了一次精心偽裝的惡意更改,或者是一個未修補的漏洞,出售給了專門購買 0day 漏洞的公司 Zerodium(Zerodium 回應稱,它沒有購買有關 PHP 漏洞的資訊)。
目前尚無關於該事件的詳細信息,但據推測,這些更改是由於駭客攻擊而添加的。 服務器 此次事件並非針對單一開發者帳戶,而是針對 git.php.net 倉庫。目前已開始對該倉庫進行分析,以排查除已發現問題之外的其他惡意變更。歡迎任何有興趣審查這些變更的人員參與。如果您發現任何可疑更改,請將訊息發送至 security@php.net。
關於遷移到 GitHub,要取得新倉庫的寫入權限,貢獻者必須是 PHP 組織的成員。不包含在 GitHub PHP 開發者名單中的貢獻者,請透過電子郵件 nikic@php.net 聯絡 Nikita Popov。此外,還必須啟用雙重認證。獲得相應權限後,只需執行命令“git remote set-url origin git@github.com:php/php-src.git”即可更改倉庫。此外,正在考慮強制使用開發者的數位簽章對提交進行認證。此外,也提議禁止直接添加未經初步審核的變更。
來源: opennet.ru
