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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-71492— Banks: Path traversal in `DirectoryPromptRegistry.set()` allows arbitrary file write outside the registry root

Quick assessment

Affected
masci banks
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.

Banks 使用一种简单的模板语言来生成有意义的 LLM(大型语言模型)提示词。在 2.4.5 版本之前,位于 中的 方法会将攻击者可控的 和 值直接插值到一个路径中,且未进行规范化或边界检查。攻击者可以通过使用类似 的相对路径遍历构造,或使用绝对路径来绕过或丢弃配置的注册表根目录;同时,若设置 ,则允许覆盖现有的目标文件。恶意构造的 会被持久化存储在 中,并在后续通过 方法重新加载,使得该路径仍可访问注册表根目录之外的位置。因此,若应用程序将请求数据直接传入这些字段,攻击者即可利用此漏洞,以应用程序进程可写的任意

CVSS 6.0 · Medium EPSS 0.32% · P25

Affected Version Matrix 1

VendorProduct Version RangeStatus
masci banks < 2.4.5 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-71492

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
Banks: Path traversal in `DirectoryPromptRegistry.set()` allows arbitrary file write outside the registry root
Source: CVE Program / CVE List V5
Vulnerability Description
Banks generates meaningful LLM prompts using a simple template language. Prior to version 2.4.5, DirectoryPromptRegistry.set() in src/banks/registries/directory.py interpolates attacker-controlled Prompt.name and Prompt.version values into a Path without canonicalization or containment validation. Relative traversal such as ../victim/foo and an absolute Prompt.name can escape or discard the configured registry root, while overwrite=True permits replacement of existing target files. The poisoned name is persisted in index.json and reconstructed by _load(), allowing the out-of-root path to survive later registry loads. An application that forwards request data into these fields can therefore write Prompt.raw bytes to attacker-chosen paths writable by the application process. This issue is fixed in version 2.4.5.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
对路径名的限制不恰当(路径遍历)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
masci banks < 2.4.5 -

II. Public POCs for CVE-2026-71492

# 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-71492

登录查看更多情报信息。

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

Vendor Advisories for CVE-2026-71492 (1)

Proof of Concept for CVE-2026-71492 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-71492

No comments yet


Leave a comment