IPBUF安全漏洞报告
English
CVE-2026-42079 CVSS 8.6 高危

CVE-2026-42079 PPTAgent任意代码执行漏洞

披露日期: 2026-05-04

漏洞信息

漏洞编号
CVE-2026-42079
漏洞类型
任意代码执行
CVSS评分
8.6 高危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
PPTAgent

相关标签

RCE任意代码执行PPTAgentLLM安全Python eval

漏洞概述

PPTAgent是一个用于反思性PowerPoint生成的智能体框架。在commit 418491a之前的版本中,该软件存在严重的安全漏洞。由于PPTAgent直接使用Python的`eval()`函数执行大语言模型(LLM)生成的代码,且未对作用域进行严格的限制,导致攻击者可以通过诱导LLM生成恶意代码来实现任意代码执行。该漏洞允许攻击者在目标系统上执行任意命令,从而完全控制受影响的主机。目前官方已在commit 418491a中发布了补丁修复了此问题,建议用户尽快更新。

技术细节

该漏洞的根源在于PPTAgent框架处理LLM输出时的不安全编程实践。具体而言,PPTAgent设计为利用LLM生成Python代码以自动化生成PowerPoint演示文稿。为了执行这些生成的代码,应用程序使用了Python内置的`eval()`函数。关键问题在于调用`eval()`时,Python的`__builtins__`模块默认处于作用域内。这意味着LLM生成的代码不仅可以访问预设的安全变量,还可以直接调用`os.system`、`subprocess`、`open`等危险函数。

攻击者可以通过精心构造的提示词或利用LLM的幻觉特性,诱导模型输出包含恶意指令的Python代码片段。当PPTAgent执行这些片段时,由于缺乏沙箱隔离或输入白名单验证,恶意代码将直接在运行PPTAgent的服务器或本地环境中以当前用户的权限运行。这可能导致敏感数据泄露、文件篡改或服务器被完全接管。CVSS向量中的AV:L和UI:R表明这通常涉及本地攻击向量,需要用户交互(例如运行特定的PPTAgent任务),但影响范围(S:C)和后果(C:H/I:H/A:H)都非常严重。

攻击链分析

STEP 1
1. 诱导与生成
攻击者通过特定的提示词诱导PPTAgent使用的大语言模型生成包含恶意Python代码的响应。
STEP 2
2. 代码接收
PPTAgent框架接收LLM生成的代码字符串,准备执行以完成PowerPoint生成任务。
STEP 3
3. 不安全执行
框架将代码传递给`eval()`函数,由于未限制`__builtins__`,恶意代码被解释并执行。
STEP 4
4. 获得控制权
恶意代码调用系统命令(如os.system),导致攻击者获得目标系统的任意代码执行权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import os # Simulating the vulnerable function in PPTAgent prior to commit 418491a # The vulnerability lies in passing LLM output directly to eval with builtins available. def vulnerable_eval(llm_generated_code): """ This function mimics the vulnerable behavior where builtins are accessible. """ try: # Vulnerable line: eval() with builtins in scope # In the real scenario, 'llm_generated_code' comes from the LLM response. result = eval(llm_generated_code, {"__builtins__": __builtins__}) return result except Exception as e: return str(e) # Proof of Concept: Malicious payload generated by an LLM # This payload aims to execute a system command (e.g., 'whoami' or 'id') malicious_payload = "__import__('os').system('echo CVE-2026-42079 PWNED')" print(f"Executing payload: {malicious_payload}") vulnerable_eval(malicious_payload)

影响范围

PPTAgent < commit 418491a

防御指南

临时缓解措施
建议立即停止使用受影响版本的PPTAgent,并从GitHub仓库拉取包含修复补丁(commit 418491a)的最新代码。在未更新前,不要在处理不可信输入的环境中运行该工具。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表