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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-72847— broot Terminal Escape Sequence Injection via Unsanitized File and Directory Names in the Tree View

Quick assessment

Affected
Canop broot
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.

以下是对该漏洞描述信息的翻译: broot 在其交互式树状视图(tree view)中,严格按照从文件系统读取的内容渲染每个文件和目录的名称。这些名称通过调用 中的 以及 中的 函数进行转换,且代码中任何位置均未对控制字符进行过滤。尽管 的 字段的文档注释指出某些字符可能已被剥离,但实际上并无此类处理。因此,任何拥有创建文件权限的本地用户均可在文件名中嵌入转义序列,当其他用户浏览该目录时,该序列将未经修改地作为 broot 自身样式代码的一部分被输出至终端。 一项报告的概念验证(PoC)使用了 OSC 52 剪贴板

CVSS 4.6 · Medium EPSS 0.10% · P1

Possible ATT&CK Techniques 1 AI

T1059 · Command and Scripting Interpreter

Affected Version Matrix 1

VendorProduct Version RangeStatus
Canop broot ≤ 1.58.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-72847

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
broot Terminal Escape Sequence Injection via Unsanitized File and Directory Names in the Tree View
Source: CVE Program / CVE List V5
Vulnerability Description
broot renders each file and directory name in its interactive tree view exactly as read from the filesystem. Names are converted with a plain to_string_lossy() call in src/tree_build/builder.rs and in TreeLine::unprune in src/tree/tree_line.rs, and no control-character filtering exists anywhere in the code, even though the doc comment on the TreeLine name field states that some characters may have been stripped. Any local user who can create a file can therefore place an escape sequence in its name and have it written unmodified to the terminal of anyone who browses that directory, between broot's own styling codes. A reported proof of concept used an OSC 52 clipboard-write sequence and captured the raw bytes broot wrote to its pty, confirming the sequence reaches the terminal unstripped. What an injected OSC or CSI sequence can then do depends on the terminal emulator in use. Browsing a directory is broot's primary function and carries no expectation that the content is trusted.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
转义、元或控制序列转义处理不恰当
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
Canop broot 0 ~ 1.58.0 -

II. Public POCs for CVE-2026-72847

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

登录查看更多情报信息。

Patches & Fixes for CVE-2026-72847 (3)

Vendor Advisories for CVE-2026-72847 (1)

Exploits & Public PoCs for CVE-2026-72847 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-72847

No comments yet


Leave a comment