Skip to main content

Bruno API Client EUVDEUVD-2026-71121

| CVE-2026-85665 HIGH
Path Traversal (CWE-22)
2026-09-04 VulnCheck GHSA-c887-2p5m-25wx
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious collection with body:file traversal path
  2. Delivery
    Distribute collection via repo, forum, or phishing
  3. Exploit
    Victim imports and executes collection
  4. Execution
    Bruno resolves ../ path outside collection directory
  5. Persist
    File contents sent as HTTP body to attacker endpoint
  6. Impact
    Attacker 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 body:file feature must be used in the malicious request - this is a supported and commonly used Bruno feature, not a non-default configuration, so no special setup is required on the victim side. The attack is limited by the user-interaction requirement (the victim must run the collection) and by file-system permission boundaries (Bruno can only read files the victim's OS user account can read). Exploitation does not require any network service to be listening on the victim machine; the victim initiates the outbound HTTP connection that delivers the file to the attacker.

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 body:file field set to ../../../../home/user/.ssh/id_rsa. When a developer imports and runs the collection - a routine action in API development workflows - Bruno reads the SSH private key and sends it as the request body to an attacker-controlled server. No authentication or elevated privilege is required on the victim's machine beyond the ability to run Bruno.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

bruno 0 ≤4.1.0

Affected Packages

euvd bruno no fix

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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
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
vuln.today AI 6.5 MEDIUM

Network-distributed collection, no attacker privileges needed, but victim must actively run it (UI:R); only confidentiality impact from arbitrary file read.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.7%
Top 49% exploitable
Prevalence
Low
niche open-source API client, smaller footprint than Postman or Insomnia
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.7%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

37
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy