赶快修复:最大的 PHP 软件包仓库 Packagist 被曝严重漏洞
翻译:360代码卫士团队
PHP 生态系统最大的软件包仓库 Packagist 的维护人员修复了官方网站上的一个严重漏洞,它本可导致攻击者劫持服务。
该漏洞是由安全研究员 Max Justicz 发现并报告的。Justicz 指出,通过 Packagist 主页提交新 PHP 软件包的输入字段“Submit Package (提交软件包)”允许攻击者以 "$(MALICIOUS_COMMANDS)"的格式运行恶意命令。
这个问题的根因在于,Packagist 服务预测输入为托管在 Git、Perforce、Subversion 或 Mercurial 服务器上的源代码资料包的 URL。但 Justicz 发现当 Packagist 检查该 URL 是否会引向 Perforce或 Subversion 资料包时,Packagist 会不正确地逃逸所输入的字符,并两次执行恶意命令:第一次是执行 Perforce 检查时,另一次是执行 Subversion 检查时。攻击者本可轻易劫持 Packagist 底层服务器并执行更多的侵入性动作。
Justicz 发表博客文章称,该问题目前已修复。
Packagist 每月服务4亿个软件包
Packagist 并非软件包管理器,只是 PHP 数据包的主机。它是最流行的 PHP 软件包管理器 Composer 使用的默认数据包主机。Packagist 是 PHP 生态系统中最大的软件包托管服务,仅在2018年7月的安装量就超过4.35亿次。
Packagist 团队并未就此事置评。
Justicz 一直都在查找流行编程语言软件包管理器和相关服务中的缺陷。他此前曾报告并帮助修复了如下问题:
Ruby 的主要软件仓库(托管服务)RubyGems.org 上的一个远程代码执行缺陷
允许攻击者从 PyPI 中删除文件的一个缺陷
JavaScript 生态系统主软件包 npmjs.org 服务镜像中的一个远程代码执行漏洞
Npm JavaScript 软件包流行 CDN Unpkg.com 中的一个缺陷。
关联阅读
原文链接
https://www.bleepingcomputer.com/news/security/critical-flaw-fixed-in-packagist-phps-largest-package-repository/
本文由360代码卫士编译,不代表360观点,转载请注明 “转自360代码卫士www.codesafe.cn”。