简述
原文地址:
https://www.bleepingcomputer.com/news/security/phps-git-server-hacked-to-add-backdoors-to-php-source-code/
在最新的软件供应链攻击中,PHP官方Git仓库被黑客攻击,代码库被篡改。
昨天,两个恶意提交被推送到PHP团队在git.php.net服务器上维护的php-src Git存储库。
威胁参与者已经对这些提交进行了签名,好像这些提交是由已知的PHP开发者和维护者Rasmus Lerdorf和Nikita Popov完成的。
在PHP Git服务器上植入RCE后门
为了破坏PHP代码库,昨天有两个恶意提交被推送到官方PHP Git存储库。
考虑到PHP仍然是互联网上79%以上的网站的服务器端编程语言,这一事件令人担忧。
在BleepingComputer看到的恶意提交[1,2]中,攻击者以一个轻微的排版纠正为借口,发布了一个神秘的上游更改“fix typo”。
但是,看看添加的第370行,其中调用了zend_eval_string函数,这段代码实际上植入了一个后门,以便在运行这个被劫持的PHP版本的网站上轻松获得远程代码执行(RCE)。
"如果字符串以'zerodium'开头,这一行就会从useragent HTTP头内执行PHP代码。"PHP开发者Jake Birchall向最早指出这一异常的Michael Voříšek回应道。
在电子邮件采访中,PHP维护者Nikita Popov告诉我们。
"第一次提交是在几个小时后被发现的,作为常规提交后代码审查的一部分。Popov告诉BleepingComputer,"这些改动是相当明显的恶意的,并且马上就被还原了"。
此外,这次恶意提交是以PHP创建者Rasmus Lerdorf的名义进行的。
但是,与Git这样的源代码版本控制系统一样,这并不令人惊讶,可以在本地签署来自其他任何人的提交,然后将伪造的提交上传到远程Git服务器,在远程Git服务器上,它给人的印象就像它确实是由上面指定的人签名的一样。
虽然对事件的完整调查还在进行中,但据PHP维护者称,这次恶意活动源于被入侵的git.php.net服务器,而不是个人的Git账户被入侵。
PHP官方代码库迁移到GitHub
作为此次事件后的预防措施,PHP维护人员决定将PHP官方源码库迁移至GitHub。
"虽然调查仍在进行中,但我们决定维护自己的git基础设施是一个不必要的安全风险,我们将停止git.php.net服务器。"
"取而代之的是,GitHub上的仓库,以前只是镜像,将成为规范的。"Popov宣布。
随着这一改变的进行,Popov坚持认为,从现在开始,任何代码修改都要直接推送到GitHub上,而不是git.php.net服务器上。
那些有兴趣为PHP项目做出贡献的人现在需要在GitHub上被添加为PHP组织的一部分。
相关说明在同一个安全公告中提供。
要成为该组织的成员,你需要在你的GitHub账户上启用双因素认证(2FA)。
"我们正在审查仓库中除了两个引用的提交之外的任何损坏,"Popov说。
BleepingComputer联系了Popov和PHP安全团队,以了解这次妥协的完整程度,以及是否有任何代码在恶意提交被抓住之前被分发到下游。
"在此期间,它可能已经被克隆/forked,但这些更改并没有进入任何标签或发布工件中。"
Popov进一步告诉BleepingComputer:“这些变化是在PHP 8.1的开发分支上,它将在年底发布。”
PHP团队已经向BleepingComputer确认,他们计划在未来几天内最终停用git服务器,并永久迁移到GitHub。
这是个发展中的故事。
美国东部时间3月29日上午7:22更新。添加了PHP维护者Nikita Popov的回复。
相关文章
Linux Foundation unveils Sigstore — a Let's Encrypt for code signing
New XcodeSpy malware targets iOS devs in supply-chain attack
Microsoft's Azure SDK site tricked into listing fake package
GitHub fixes bug causing users to log into other accounts
Critical netmask networking bug impacts thousands of applications
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2021-3-29 20:13
被梦幻的彼岸编辑
,原因: