PHP zlib源码被植入后门代码风险提示:
【漏洞公告】
2021年3月28日,PHP官方邮件列表发布安全公告,公告PHP源码在当天早些时候遭受了恶意提交代码,PHP zlib库源码被植入后门代码,因此PHP官方决定将停止源码服务器(git.php.net),而转向到GitHub仓库发布,相关链接参考:https://news-web.php.net/php.internals/113838
根据公告,此次供应链攻击事件中,恶意攻击者使用了合法用户正常提交代码的方式植入了后门代码,5个多小时后植入的后门代码被发现、然后被删除,随后后门代码二次被植入,被发现后最终删除,建议在北京时间(UTC+0800)28日和29日凌晨更新过PHP源码的用户尽快排查zlib库是否存在后门代码,具体提交日志记录参考:http://git.php.net/?p=php-src.git;a=log
【影响范围】
根据提交日志发现后门代码植入的时间段和影响的源码时间范围如下:
建议在这2个时间段更新过源码的用户尽快排查是否含有后门代码,源码服务器(git.php.net)提交记录:
【漏洞描述】
根据提交记录和源码分析,后门植入文件为:/ext/zlib/zlib.c,后门代码主要是判断请求包含特殊字符串条件后执行的机制实现,特殊字符串包括:HTTP_USER_AGENTT和zerodium等,记录截图如下:
此次供应链攻击的完整复盘官方还在调查中。
【缓解措施】
高危:虽然PHP源码只是短暂的被污染,但由于是全球范围内广泛使用的编程语言、因此在被植入后门代码的时间段内,依然存在被下载过的用户无辜中招的可能,建议在该时间段更新过源码的用户做好后门代码排查(可以直接搜索关键字方式)。