Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious collection with body:file traversal path
-
DeliveryDistribute collection via repo, forum, or phishing
-
ExploitVictim imports and executes collection
-
ExecutionBruno resolves ../ path outside collection directory
-
PersistFile contents sent as HTTP body to attacker endpoint
-
ImpactAttacker receives arbitrary local file
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the victim user (1) imports a collection authored or modified by the attacker, and (2) actively executes that collection using the Bruno CLI or desktop application. The |
| Impact | The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N) scores 7.1 and accurately captures the core risk: network-distributable, low-complexity attack requiring only passive user interaction (running the collection) to achieve full confidentiality compromise of local files. The attack is essentially a malicious-collection supply-chain scenario - identical in class to malicious Postman or Insomnia collection attacks. Real-world risk is meaningful within developer and QA teams that routinely share collections, but is bounded by the user-interaction requirement (UI:P) and the product's relatively niche footprint. No public exploit code or CISA KEV listing is present, reducing urgency compared to mass-exploitation scenarios. The EPSS data is not provided, but given the niche audience and social-engineering precondition, widespread automated scanning exploitation is unlikely. The highest realistic threat is targeted developer workstation compromise or CI/CD pipeline infiltration via a shared collection repository. |
| Exploit ScenarioDerived | An attacker publishes or shares a Bruno collection (e.g., via a GitHub repository, a developer forum, or a phishing link) that contains a GET or POST request with a |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 04, 2026
Path traversal in Bruno API client through version 3.4.2 allows an attacker who can deliver a crafted collection to a victim to exfiltrate arbitrary local files from the victim's filesystem. When a user executes a Bruno collection containing a body:file request with ../ traversal sequences in the file path, the application resolves the path outside the collection directory and transmits the resulting file contents to an attacker-controlled HTTP endpoint. No public exploit has been identified at time of analysis, but the VulnCheck advisory and a GitHub issue confirm the issue is documented, and the attack surface is realistic given the common practice of sharing Bruno collections.
RemediationAI
Upgrade Bruno to version 4.1.0 or later, which contains the corrected path validation in prepare-request.js as confirmed by the GitHub commit reference. The VulnCheck advisory at https://www.vulncheck.com/advisories/bruno-3.4.2-arbitrary-file-read-via-unconfined-body-file-path and the GitHub issue at https://github.com/usebruno/bruno/issues/8230 provide additional context. As a compensating control for teams that cannot immediately upgrade, restrict execution of collections received from untrusted or external parties, and audit all body:file directives in shared collections before running them. Organizations using Bruno in CI/CD pipelines should enforce collection source controls (e.g., pinned repository references and code-review gates on collection files) to prevent injection of malicious traversal payloads into automated runs.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Bruno is an open-source desktop and CLI API client (usebruno/bruno) that allows developers to define and run HTTP request collections stored as plain files. The vulnerability resides in the request preparation logic in packages/bruno-cli/src/runner/prepare-request.js (CWE-22: Improper Limitation of a Pathname to a Restricted Directory). Bruno supports a body:file directive that instructs the runner to attach a local file as the request body. Through version 3.4.2, the code does not validate or canonicalize the supplied path, so traversal sequences like ../../../../etc/passwd are resolved against the operating system's filesystem root rather than being confined to the collection's working directory. The affected CPE is cpe:2.3:a:usebruno:bruno:*:*:*:*:*:*:*:* covering all versions up to and including 3.4.2.
Know when Bruno gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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
Network-distributed collection, no attacker privileges needed, but victim must actively run it (UI:R); only confidentiality impact from arbitrary file read.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Bruno versions through 3.4.2 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.
Executive ViewAI
Bruno API client through version 3.4.2 contains a path traversal vulnerability enabling attackers to exfiltrate arbitrary files from victims' machines through malicious collection files. Developers and security teams using Bruno for API testing face data breach risk if they execute untrusted or compromised collections, potentially exposing source code, credentials, and configuration data.
No vendor-released patch identified at time of analysis. Interim mitigations: enforce a security policy requiring collections to originate only from trusted internal sources; conduct mandatory code review of collection files before execution, specifically checking for path traversal sequences and external HTTP endpoints; isolate Bruno execution to sandboxed environments or dedicated VMs when testing third-party APIs; implement network egress monitoring to detect suspicious data exfiltration attempts; and maintain inventory of all Bruno deployments to accelerate patching when a fix is released.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Bruno is an open source IDE for exploring and testing APIs. Rated high severity (CVSS 8.7), this vulnerability is no aut
Bruno is an open source IDE for exploring and testing APIs. Rated high severity (CVSS 8.7), this vulnerability is no aut
Bruno before 1.29.1 uses Electron shell.openExternal without validation (of http or https) for opening windows within th
An incorrect implementation of "XEP-0280: Message Carbons" in multiple XMPP clients allows a remote attacker to imperson
EUVD-2026-71121
GHSA-c887-2p5m-25wx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB