GHSA-qpx9-hpmf-5gmw · Severity: high · Ecosystem: npm — Underscore has unlimited recursion in _.flatten and _.isEqual, potential for DoS attack
Underscore.js is a utility-belt library for JavaScript. Prior to 1.13.8, the _.flatten and _.isEqual functions use recursion without a depth limit. Under very specific conditions, detailed below, an attacker could exploit this in a Denial of Service (DoS) attack by triggering a stack overflow. Untrusted input must be used to create a recursive datastructure, for example using JSON.parse, with no enforced depth limit. The datastructure thus created must be passed to _.flatten or _.isEqual. In the case of _.flatten, the vulnerability can only be exploited if it is possible for a remote client to prepare a datastructure that consists of arrays at all levels AND if no finite depth limit is passed as the second argument to _.flatten. In the case of _.isEqual, the vulnerability can only be exploited if there exists a code path in which two distinct datastructures that were submitted by the same remote client are compared using _.isEqual. For example, if a client submits data that are stored in a database, and the same client can later submit another datastructure that is then compared to the data that were saved in the database previously, OR if a client submits a single request, but its data are parsed twice, creating two non-identical but equivalent datastructures that are then compared. Exceptions originating from the call to _.flatten or _.isEqual, as a result of a stack overflow, are not being caught. This vulnerability is fixed in 1.13.8.
Conclusion & alert: CVE-2026-27601 is rated Exploit Available (51.9/100): CVSS High severity, with low exploitation likelihood (EPSS 0.04%). Core evidence: 1 public exploit reference(s) are indexed (Exploit-DB). Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
| EDB-ID | Source | Kind | Published | Link |
|---|---|---|---|---|
| — | nvd_ref | exploit_tag | Exploit-DB ↗ |
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-03-04 | — | 0.04% | — |
Full EPSS history (1 record total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 8.2 | 4.0 | HIGH |
|
— | — | [email protected] |
| 7.5 | 3.1 | HIGH |
|
3.9 | 3.6 | [email protected] |
GHSA-qpx9-hpmf-5gmw · Severity: high · Ecosystem: npm — Underscore has unlimited recursion in _.flatten and _.isEqual, potential for DoS attack
| vendor | priority | summary | link |
|---|---|---|---|
debian
|
not yet assigned | CVE-2026-27601 not yet assigned priority: Debian including 1 source packages (underscore), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): open 3, resolved 2. | https://security-tracker.debian.org/tracker/CVE-2026-27601 |
redhat
|
medium | — | https://access.redhat.com/security/cve/CVE-2026-27601 |
suse
|
medium | CVE-2026-27601 severity moderate: SUSE including 53 source package names (cockpit, cockpit-bridge, …), 196 product×package rows across 27 product lines (SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS, SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS, … (27 product lines)): Known Not Affected 186, Fixed 10. | https://www.suse.com/security/cve/CVE-2026-27601/ |
ubuntu
|
medium | CVE-2026-27601 medium priority: Ubuntu including 1 source packages (ruby-rails-assets-underscore), 6 status rows across 6 suites (bionic, focal, jammy, noble, questing, upstream): needs-triage 5, DNE 1. | https://ubuntu.com/security/CVE-2026-27601 |
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| underscorejs | underscore | < 1.13.8 | cpe:2.3:a:underscorejs:underscore:*:*:*:*:*:node.js:*:* |