ZeroHour

CVE-2026-85665

large

Path Traversal Arbitrary File Read in Bruno API Client through 4.1.0

CVSS 4.0
7.1 high
EPSS
<1%p51
Published
()
Modified
AI analysis

Bruno through version 4.1.0 fails to validate file paths in request body declarations (body:file), allowing parent-directory '../' traversal sequences to resolve outside the collection directory (CWE-22). An attacker triggers the flaw by getting a user to execute a crafted collection whose body file path points outside the collection folder, for example a collection shared via file transfer, a repository, or downloaded from the internet. On execution, Bruno reads the referenced file and transmits its contents to attacker-controlled endpoints, enabling arbitrary local file disclosure and exfiltration with high confidentiality impact but no integrity or availability impact. Anyone running an affected version of the Bruno API client and executing collections authored or modified by others is affected. No exploitation has been reported: there is no public proof-of-concept, the CVE is not in CISA KEV, and EPSS assigns only a 0.7% probability of exploitation within 30 days.

What to do: Upgrade Bruno to the first release after 4.1.0 as soon as a patched version is published, since the available data does not identify a fixed version number. Until then, avoid running collections from untrusted sources and inspect any collection's body:file paths for '../' traversal segments before executing. On machines that hold sensitive credentials or files, consider restricting Bruno's file system access to intended project directories.

Affected
Bruno (UseBruno open-source project) Bruno API clientall versions through 4.1.0 (no fixed version specified in available data)
Estimated exposure
largeon the order of 100,000-1,000,000 developer workstation installations, though only the subset that executes untrusted collections is practically exposed — Bruno is a widely adopted open-source API client with a large global developer user base, but no published active-install or internet-exposure scan counts exist, so this is an order-of-magnitude estimate rather than a measured figure.

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Bruno versions through 4.1.0 fail to validate file paths in request body declarations, allowing attackers to read arbitrary local files by using parent-directory traversal segments. When a collection is executed, attackers can craft a request with a body:file path containing ../ sequences that resolve outside the collection directory, causing the application to read and exfiltrate arbitrary files to attacker-controlled endpoints.

Weakness
CWE-22
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.