Skip to main content

Rollbar.js CVE-2025-62517

MEDIUM
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2025-10-23 security-advisories@github.com
5.9
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Identify app passing untrusted input to rollbar.configure()
  2. Exploit
    Craft payload with __proto__ polluting key
  3. Execution
    Trigger merge()/set() prototype pollution
  4. Impact
    Corrupt Object.prototype affecting app logic

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V3 - Web Frontend Security Prototype pollution prevention
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

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 consuming application call rollbar.configure() with attacker-controllable input - this specific API data flow is the mandatory precondition, confirmed by both the NVD description and the GHSA advisory. The affected code paths are merge() (which built its accumulator on a pollutable plain object) and the set() helper (which walked untrusted property paths); a payload carrying a __proto__ key is what triggers pollution. LIMITING FACTORS: the vulnerability is inert unless the host app passes untrusted values into configure() (reflected in AC:H), affects only rollbar.js before 2.26.5 and the 3.0.0-alpha1 through 3.0.0-beta4 pre-releases, and the official workaround (sanitizing/avoiding untrusted input to configure()) fully mitigates it without upgrading. No authentication or user interaction is required by the library itself (PR:N/UI:N).

Impact

This is a genuine but conditional, moderate-severity issue rather than a top-tier emergency. The signals are internally consistent and point LOW on real-world risk: CVSS 3.1 base is 5.9 (Medium) with vector AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - note AC:H, reflecting that exploitation is not trivial, and C:N/A:N meaning the only base impact is to integrity (prototype pollution). EPSS is low at 0.39% (31st percentile), the CVE is NOT on CISA KEV, and no public exploit was identified, so there is no evidence of active or imminent mass exploitation. The most important nuance the raw CVSS hides: AV:N is technically defensible but misleading as a standalone trigger - exploitation only occurs when the embedding application itself passes attacker-controlled data into rollbar.configure(). In other words, the vulnerable data flow must be built by the consuming app; rollbar.js is not remotely exploitable on its own. There is no SSVC decision data provided. Net: treat as a routine dependency-hygiene patch (bump to 2.26.5 or 3.0.0-beta5), prioritized by whether your code actually forwards untrusted input into rollbar.configure(), not as a drop-everything incident.

Exploit ScenarioDerived

An application feeds untrusted data (e.g. values derived from user input, query strings, or a JSON body) into rollbar.configure(). Because merge() previously built its result on a normal object and set() walked attacker-controlled paths, a payload containing a __proto__ key pollutes Object.prototype, injecting properties visible across all objects in the Node.js or browser runtime and potentially altering downstream application logic. No public exploit code was identified, and the high attack complexity (AC:H) reflects that the attacker depends on the host app exposing this exact configure() data flow.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 08, 2026

Prototype pollution in the merge() helper of the Rollbar.js browser/Node logging SDK lets attacker-supplied data corrupt Object.prototype when a consuming application passes untrusted values into rollbar.configure(). Only npm/rollbar releases before 2.26.5 and the 3.0.0-alpha1 through 3.0.0-beta4 pre-releases are affected; per the CVSS vector the attack is network-reachable and requires no authentication or user interaction (PR:N/UI:N), though exploitation is conditional on the host application forwarding attacker-controllable input to configure(), which is why complexity is rated High (AC:H). Impact is limited to integrity (I:H) with no confidentiality or availability effect, EPSS is low at 0.39% (31st percentile), and no public exploit code or active exploitation has been identified at time of analysis.

RemediationAI

Vendor-released patches are available: upgrade to npm/rollbar 2.26.5 (fixes the 2.x line, PR https://github.com/rollbar/rollbar.js/pull/1394) or to 3.0.0-beta5 for anyone on the 3.0.0-alpha1 through 3.0.0-beta4 pre-releases (PR https://github.com/rollbar/rollbar.js/pull/1390); both are described in the GitHub advisory GHSA-xcg2-9pp4-j82x. If upgrading is not immediately possible, the officially endorsed workaround is to guarantee that no untrusted input ever reaches rollbar.configure() - validate or whitelist configuration keys, strip __proto__, constructor, and prototype keys from any object sourced from user, network, or serialized JSON data before passing it in, and avoid reflecting request bodies or query strings into SDK configuration. This workaround fully neutralizes the issue but places the burden on every call site, so it is fragile as a long-term control. As an additional compensating layer, deploying a prototype-pollution-safe deep-merge (for example one that rejects dangerous keys or uses null-prototype objects) in application code reduces blast radius if a similar primitive exists elsewhere; note that Node.js --disable-proto=delete or --disable-proto=throw only mitigates the __proto__-based vector and not constructor.prototype paths, and may break libraries that legitimately rely on __proto__.

Affected Packages

npm rollbar fix: 2.26.5, 3.0.0-beta5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The issue is a classic JavaScript prototype pollution flaw (CWE-1321) rooted in how Rollbar.js deep-merges configuration and walks property paths. In the vulnerable code, merge() initialized its accumulator with a plain object literal (result = {}), so a payload containing a __proto__ key such as {"__proto__": {"polluted": "yes"}} could be written onto Object.prototype and inherited by every object in the runtime. A second affected path was the set() utility, which walked attacker-influenced property paths and likewise permitted __proto__ traversal. Because the SDK is consumed as a library, the polluted prototype does not by itself harm Rollbar; the primitive only materializes when the host application supplies untrusted structured data to rollbar.configure(). The upstream fix hardens both sinks: merge() now builds its accumulator with Object.create(null) so no prototype exists to pollute, and set() calls Object.setPrototypeOf(obj, null) before writing, plus regression tests asserting that {}.polluted stays undefined after hostile merge/set calls. The advisory is tracked as GHSA-xcg2-9pp4-j82x under the npm/rollbar package.

Know when Prototype Pollution 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 (github) PRIMARY 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
vuln.today AI 5.9 MEDIUM

AC:H because exploitation depends on the app forwarding untrusted input to configure(); PR:N/UI:N as the library imposes no auth; C:N/A:N with I:H since prototype pollution corrupts integrity only.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

DescriptionCVE.org

Rollbar.js offers error tracking and logging from Javascript to Rollbar. In versions before 2.26.5 and from 3.0.0-alpha1 to before 3.0.0-beta5, there is a prototype pollution vulnerability in merge(). If application code calls rollbar.configure() with untrusted input, prototype pollution is possible. This issue has been fixed in versions 2.26.5 and 3.0.0-beta5. A workaround involves ensuring that values passed to rollbar.configure() do not contain untrusted input.

Threat Intelligence Overview

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Medium
popular JavaScript error-tracking SDK, common but not universally deployed
Data Quality
4 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-34621 HIGH POC
8.6 Apr 11

Prototype pollution in Adobe Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier enables arbitrary code execu

CVE-2021-23450 CRITICAL POC
9.8 Dec 17

All versions of package dojo are vulnerable to Prototype Pollution via the setObject function. Rated critical severity (

CVE-2024-56059 CRITICAL
9.8 Dec 18

Prototype pollution in the farinspace Partners WordPress plugin (versions up to and including 0.2.0) enables remote unau

CVE-2021-23383 CRITICAL POC
9.8 May 04

The package handlebars before 4.7.7 are vulnerable to Prototype Pollution when selecting certain compiling options to co

CVE-2020-7788 CRITICAL POC
9.8 Dec 11

This affects the package ini before 1.3.6. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitabl

CVE-2020-28271 CRITICAL POC
9.8 Nov 12

Prototype pollution vulnerability in 'deephas' versions 1.0.0 through 1.0.5 allows attacker to cause a denial of service

CVE-2023-38894 CRITICAL POC
9.8 Aug 16

A Prototype Pollution issue in Cronvel Tree-kit v.0.7.4 and before allows a remote attacker to execute arbitrary code vi

CVE-2024-24292 CRITICAL POC
9.8 Mar 28

A Prototype Pollution issue in Aliconnect /sdk v.0.0.6 allows an attacker to execute arbitrary code via the aim function

CVE-2023-26121 CRITICAL POC
10.0 Apr 11

All versions of the package safe-eval are vulnerable to Prototype Pollution via the safeEval function, due to improper s

CVE-2021-23449 CRITICAL POC
10.0 Oct 18

This affects the package vm2 before 3.9.4 via a Prototype Pollution attack vector, which can lead to execution of arbitr

CVE-2024-39011 CRITICAL POC
9.8 Jul 30

Prototype Pollution in chargeover redoc v2.0.9-rc.69 allows attackers to execute arbitrary code or cause a Denial of Ser

CVE-2024-38988 CRITICAL POC
9.8 Mar 28

alizeait unflatto <= 1.0.2 was discovered to contain a prototype pollution via the method exports.unflatto at /dist/inde

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