Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-55585— QWED: Authenticated Remote Code Execution via Unsafe SymPy `parse_expr()`

Quick assessment

Affected
QWED-AI qwed-verification
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

以下是该漏洞描述信息的中文翻译: QWED 是一个开源的 AI 验证基础设施,用于在生产环境执行之前,对大语言模型(LLM)的输出、工具调用、代码、模式以及智能体状态进行确定性验证。在版本 5.1.2 之前,qwed 软件包将调用者控制的数学表达式直接传递给 SymPy 的 函数,且未限制 和 命名空间,从而导致 Python 的 能够解析内置函数并在 API 服务器进程中执行任意 Python 代码。 在 文件中, 接口虽通过 进行了租户身份验证,但接受任何有效的租户 API 密钥。该接口读取 字段,仅应用了形式

CVSS 8.8 · High

Affected Version Matrix 1

VendorProduct Version RangeStatus
QWED-AI qwed-verification < 5.1.2 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-55585

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
QWED: Authenticated Remote Code Execution via Unsafe SymPy `parse_expr()`
Source: CVE Program / CVE List V5
Vulnerability Description
QWED is open-source AI verification infrastructure for deterministic verification of LLM outputs, tool calls, code, schemas, and agent state before production execution. Prior to 5.1.2, the qwed package passes caller-controlled math expressions directly to SymPy parse_expr() without restricted global_dict and local_dict namespaces, allowing Python eval() to resolve builtins and execute arbitrary Python code in the API server process. In src/qwed_new/api/main.py, POST /verify/math is protected by get_current_tenant but accepts any valid tenant API key, reads the expression field, applies only a cosmetic re.sub(r'(\d)(()', r'\1*\2', expression) normalization, and passes the result to parse_expr(). In src/qwed_new/core/batch.py, POST /verify/batch sends math items through batch_service.create_job(), stores item.query verbatim, and _verify_item() passes VerificationType.MATH input to parse_expr() without sanitization. The default-enabled POST /auth/signup endpoint allows anyone to create a standard tenant account, POST /auth/api-keys issues an x-api-key, and either vulnerable path can then be used to read or write files, modify data, execute operating system commands, terminate the service, and compromise other tenants in a shared deployment. This issue is fixed in version 5.1.2.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
对生成代码的控制不恰当(代码注入)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
QWED-AI qwed-verification < 5.1.2 -

II. Public POCs for CVE-2026-55585

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-55585

登录查看更多情报信息。

Patches & Fixes for CVE-2026-55585 (2)

Vendor Advisories for CVE-2026-55585 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-55585

No comments yet


Leave a comment