Cyber Resilience

CVE-2026-34841

RCE in Usebruno Bruno ≤ 3.2.1

Published
06 April 2026
Modified
22 April 2026
Patch / advisory
CVSS Score v3.1 9.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.0023 14th percentile
Risk Priority 70 floored blend · peak EPSS

Summary

CVE-2026-34841 is a critical-severity Download of Code Without Integrity Check (CWE-494) vulnerability in Usebruno Bruno. Its CVSS base score is 9.8 (Critical).

Operationally, exploitation aligns with the MITRE ATT&CK technique Supply Chain Compromise (T1195); ranked at the 14th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to CM-14 (Signed Components) and SA-11 (Developer Testing and Evaluation) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-34841 is a supply chain vulnerability affecting Bruno, an open source IDE for exploring and testing APIs, in versions prior to 3.2.1. The issue arises from compromised versions of the axios npm package, which introduced a hidden dependency that deploys a cross-platform Remote Access Trojan (RAT). It specifically impacts users of the @usebruno/cli package who ran npm install between 00:21 UTC and approximately 03:30 UTC on March 31, 2026. The vulnerability is rated critical with a CVSS v3.1 score of 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) and is associated with CWE-494 and CWE-506.

Any user executing the affected npm install command during the specified time window on March 31, 2026, could unwittingly deploy the RAT, with no privileges, authentication, or additional user interaction required. Attackers leveraging this supply chain compromise achieve high-impact remote access, enabling full compromise of confidentiality, integrity, and availability on the victim's system across platforms.

Advisories and patches, detailed in GitHub issues such as axios#10604 and Bruno pull request #7632, along with Bruno's security advisory GHSA-658g-p7jg-wx5g, recommend immediate upgrade to Bruno version 3.2.1 to remove the compromised dependency and prevent RAT deployment. Additional analysis is available from Aikido.dev.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Bruno is an open source IDE for exploring and testing APIs. Prior to 3.2.1, Bruno was affected by a supply chain attack involving compromised versions of the axios npm package, which introduced a hidden dependency deploying a cross-platform Remote Access…

more

Trojan (RAT). Users of @usebruno/cli who ran npm install between 00:21 UTC and ~03:30 UTC on March 31, 2026 may have been impacted. Upgrade to 3.2.1

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1195 Supply Chain Compromise Initial Access
Adversaries may manipulate products or product delivery mechanisms prior to receipt by a final consumer for the purpose of data or system compromise.
T1027.009 Embedded Payloads Stealth
Adversaries may embed payloads within other files to conceal malicious content from defenses.
T1072 Software Deployment Tools Execution
Adversaries may gain access to and use centralized software suites installed within an enterprise to execute commands and move laterally through the network.
T1195.001 Compromise Software Dependencies and Development Tools Initial Access
Adversaries may manipulate software dependencies and development tools prior to receipt by a final consumer for the purpose of data or system compromise.
T1195.002 Compromise Software Supply Chain Initial Access
Adversaries may manipulate application software prior to receipt by a final consumer for the purpose of data or system compromise.
T1505 Server Software Component Persistence
Adversaries may abuse legitimate extensible development features of servers to establish persistent access to systems.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-30210Same product: Usebruno Bruno
CVE-2024-48463Same product: Usebruno Bruno
CVE-2025-30354Same product: Usebruno Bruno
CVE-2024-4978Shared CWE-506
CVE-2025-59143Shared CWE-506
CVE-2026-48027Shared CWE-506
CVE-2026-8398Shared CWE-506
CVE-2025-59038Shared CWE-506
CVE-2026-45321Shared CWE-506
CVE-2025-59331Shared CWE-506

Affected Assets

usebruno
bruno
≤ 3.2.1

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 12 hardening rules · 5 OS baselines
Validate
Prove the fix (OWASP ASVS)

Mitigating Controls (NIST 800-53 r5) AI

Requires digital signature verification before component installation, directly stopping execution of code downloaded without integrity checks.

Developer testing and evaluation can discover embedded malicious code before release.

Detonation chambers can reveal embedded malicious code through controlled execution analysis.

Employs integrity verification tools that can identify missing or failed checks on downloaded software after the fact.

Tamper-resistance and detection mechanisms identify malicious code introduced via the supply chain.

Component authenticity requirements reduce the chance malicious code is embedded by developers or suppliers.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

ID.RA-09 full match
prevents

Directly requires assessing authenticity/integrity of software before acquisition and use, preventing unverified downloads.

PR.DS-02 mostly match
prevents

Requires cryptographic integrity protections (signatures/hashes) for data-in-transit, covering downloaded code.

PR.PS-05 mostly match
prevents

Prevents execution of unauthorized software, blocking the outcome of an unchecked download.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly prevent introduction of malicious code during development.

GV.SC-06 partial match
prevents

Due diligence prior to supplier relationships helps avoid sources of embedded malicious code.

GV.SC-07 partial match
prevents

Supplier risk assessment reduces likelihood of receiving products containing malicious code.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Mandating integrity checks, digital signatures, and origin tracing for ICT components directly reduces the chance that code or firmware lacking an integrity check will be accepted into the organisation’s environment.

finds

Checks that executed code has not been tampered with and monitoring for malware-associated activity reduce the likelihood that hidden malicious code remains active.

none

Banning unapproved or unknown software and requiring testing plus authorization reduces the chance that hidden malicious code will be introduced into production environments.

none

Requiring suppliers to disclose vulnerabilities and mandating verified updates lowers the chance that code lacking integrity checks will be deployed.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (1 rule)
  • V-248575 OL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-494
Oracle Linux 9 (2 rules)
  • V-271524 OL 9 must check the GPG signature of software packages originating from external software repositories before installation. prevents CWE-494
  • V-271452 OL 9 must use a Linux Security Module configured to enforce limits on system services. prevents CWE-506
RHEL 7 (2 rules)
  • V-204447 The Red Hat Enterprise Linux operating system must prevent the installation of software, patches, service packs, device drivers, or operating system components from a repository without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-494
  • V-204448 The Red Hat Enterprise Linux operating system must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-494
RHEL 8 (1 rule)
  • V-230264 RHEL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components from a repository without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-494
RHEL 9 (2 rules)
  • V-257820 RHEL 9 must check the GPG signature of software packages originating from external software repositories before installation. prevents CWE-494
  • V-258078 RHEL 9 must use a Linux Security Module configured to enforce limits on system services. prevents CWE-506

References