CVE-2026-27601
Vulnerability Summary
Timeline
Description
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.
CVSS Metrics
- v4.0•HIGH•Score: 8.2CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
- v4.0•HIGH•Score: 8.2CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
- v3.1•MEDIUM•Score: 5.9CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS Trends
Current EPSS score: 0.96%• Percentile: 60%
Techniques & Countermeasures
- CWE-770•Allocation of Resources Without Limits or Throttling
The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated.
Affected Systems
- chainguard•arangodb-3.11
all | < 3.11.14.5-r20
- chainguard•arangodb-3.12
< 3.12.9.4-r29
- chainguard•drupal-11.3
< 11.3.13-r3
- chainguard•jupyter-base-notebook
all
- chainguard•katib-earlystopping
< 0.19.0-r31
- chainguard•katib-suggestion-goptuna-compat
< 0.19.0-r40
- chainguard•katib-suggestion-hyperband
< 0.19.0-r31
- chainguard•katib-suggestion-hyperopt
< 0.19.0-r31 | < 0.19.0-r40
- chainguard•katib-suggestion-nas-darts
< 0.19.0-r31
- chainguard•katib-suggestion-nas-enas
< 0.19.0-r31
- chainguard•katib-suggestion-optuna-enas
< 0.19.0-r31
- chainguard•katib-suggestion-pbt-enas
< 0.19.0-r31
- chainguard•katib-suggestion-skopt-enas
< 0.19.0-r31
- chainguard•katib-tfevent-metricscollector
< 0.19.0-r31
- chainguard•kubeflow-centraldashboard
< 1.10.0-r13
- chainguard•nextcloud-server-31
all
- chainguard•prism
< 5.14.3-r9
- chainguard•renovate
< 43.55.3-r0 | < 43.55.6-r0
- chainguard•vitess-21
all
- chainguard•vitess-22
< 22.0.4-r5
- chainguard•vitess-23
< 23.0.3-r6
- wolfi•jupyter-base-notebook
all
- wolfi•katib-earlystopping
< 0.19.0-r31
- wolfi•katib-suggestion-goptuna-compat
< 0.19.0-r40
- wolfi•katib-suggestion-hyperband
< 0.19.0-r31
- wolfi•katib-suggestion-hyperopt
< 0.19.0-r31 | < 0.19.0-r40
- wolfi•katib-suggestion-nas-darts
< 0.19.0-r31
- wolfi•katib-suggestion-nas-enas
< 0.19.0-r31
- wolfi•katib-suggestion-optuna-enas
< 0.19.0-r31
- wolfi•katib-suggestion-pbt-enas
< 0.19.0-r31
- wolfi•katib-suggestion-skopt-enas
< 0.19.0-r31
- wolfi•katib-tfevent-metricscollector
< 0.19.0-r31
- wolfi•kubeflow-centraldashboard
< 1.10.0-r13
- wolfi•prism
< 5.14.3-r9
- wolfi•renovate
< 43.55.3-r0 | < 43.55.6-r0
- wolfi•vitess-23
< 23.0.3-r6
- debian•underscore
all | all | all | < 1.13.8~dfsg+~1.13.0-1
- ubuntu•ruby-rails-assets-underscore
all | all | all | all
- jashkenas•underscore
< 1.13.8
- Npm•underscore
< 1.13.8
- underscorejs•underscore
< 1.13.8
References (13)
- https://github.com/jashkenas/underscore/security/advisories/GHSA-qpx9-hpmf-5gmw
- https://github.com/jashkenas/underscore/commit/411e222eb0ca5d570cc4f6315c02c05b830ed2b4
- https://github.com/jashkenas/underscore/commit/a6e23ae9647461ec33ad9f92a2ecfc220eea0a84
- https://nvd.nist.gov/vuln/detail/CVE-2026-27601
- https://github.com/jashkenas/underscore/issues/3011
- https://github.com/jashkenas/underscore
- https://underscorejs.org/#1.13.8
- https://underscorejs.org/#flatten
- https://underscorejs.org/#isEqual
- https://ubuntu.com/security/CVE-2026-27601
- https://www.cve.org/CVERecord?id=CVE-2026-27601
- https://security-tracker.debian.org/tracker/CVE-2026-27601
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27601.json