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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| jashkenas | underscore | < 1.13.8 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | underscore | 1.13.8~dfsg+~1.13.0-1 | — |
| Debian 13 | underscore | No fix yet | — |
| Debian 12 | underscore | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | ruby-rails-assets-underscore | No fix yet | — |
| Ubuntu 22.04 LTS | ruby-rails-assets-underscore | No fix yet | — |
| Ubuntu 20.04 LTS | ruby-rails-assets-underscore | No fix yet | — |
| Ubuntu 18.04 LTS | ruby-rails-assets-underscore | No fix yet | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | python-bqplot | 0.12.45-14.1 | openSUSE-SU-2026:10424-1 |
| openSUSE Tumbleweed | python-ipympl | 0.9.7-17.1 | openSUSE-SU-2026:10427-1 |
| openSUSE Tumbleweed | python-nbclassic | 1.3.3-1.1 | openSUSE-SU-2026:10440-1 |
| openSUSE Tumbleweed | velociraptor | 0.76.7.0.git145.b60ef1146-1.1 | openSUSE-SU-2026:12070-1 |
| openSUSE Leap 16.0 | agama-web-ui | 17+673.b97ba64d6-160000.12.1 | openSUSE-SU-2026:21448-1 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | krb5 +5 | No fix yet | — |
| Azure Linux 2 (CBL-Mariner) | rsyslog +4 | No fix yet | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | jupyter-base-notebook | No fix yet | — |
| Wolfi rolling | katib-earlystopping +8 | 0.19.0-r31 | — |
| Wolfi rolling | katib-suggestion-goptuna-compat | 0.19.0-r40 | — |
| Wolfi rolling | kubeflow-centraldashboard | 1.10.0-r13 | — |
| Wolfi rolling | prism | 5.14.3-r9 | — |
| Wolfi rolling | renovate | 43.55.3-r0 | — |
| Wolfi rolling | vitess-23 | 23.0.3-r6 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | underscore | < 1.13.8 | 1.13.8 | GHSA-qpx9-hpmf-5gmw |
Advisories 11
- WID-SEC-2026-4090 Oracle Communications: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 11, 2026
- WID-SEC-2026-2923 Atlassian Produkte (Bamboo, Bitbucket, Confluence, Crucible, Fisheye, und Jira): Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 8, 2026
- WID-SEC-2026-2437 Oracle Communications: Mehrere Schwachstellen BSI CERT-Bund (WID) · Oct 22, 2026
- openSUSE-SU-2026:12070-1 velociraptor-0.76.7.0.git145.b60ef1146-1.1 on GA media SUSE / openSUSE Security Updates · Oct 7, 2026
- NCSC-2026-0325 Kwetsbaarheden verholpen in Atlassian producten NCSC-NL (Netherlands) · Aug 24, 2026
- openSUSE-SU-2026:21448-1 Security update for agama-web-ui SUSE / openSUSE Security Updates · Jul 29, 2026
- WID-SEC-2026-2438 Oracle Commerce: Mehrere Schwachstellen BSI CERT-Bund (WID) · Jul 21, 2026
- WID-SEC-2026-1220 IBM App Connect Enterprise: Mehrere Schwachstellen BSI CERT-Bund (WID) · Jun 7, 2026
- openSUSE-SU-2026:10440-1 jupyter-nbclassic-1.3.3-1.1 on GA media SUSE / openSUSE Security Updates · Mar 27, 2026
- openSUSE-SU-2026:10424-1 jupyter-bqplot-jupyterlab-0.5.46-14.1 on GA media SUSE / openSUSE Security Updates · Mar 26, 2026
- openSUSE-SU-2026:10427-1 jupyter-matplotlib-0.11.7-17.1 on GA media SUSE / openSUSE Security Updates · Mar 26, 2026