CVE-2015-8857
Incorrect Handling of Non-Boolean Comparisons During Minification in uglify-js
The uglify-js package before 2.4.24 for Node.js does not properly account for non-boolean values when rewriting boolean expressions, which might allow attackers to bypass security mechanisms or possibly have unspecified other impact by leveraging improperly rewritten Javascript.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
The uglify-js package before 2.4.24 for Node.js does not properly account for non-boolean values when rewriting boolean expressions, which might allow attackers to bypass security mechanisms or possibly have unspecified other impact by leveraging improperly rewritten Javascript.
- Record
CVE-2015-8857- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-254
- Updated
- 2026-11-02
CVE List No score
The uglify-js package before 2.4.24 for Node.js does not properly account for non-boolean values when rewriting boolean expressions, which might allow attackers to bypass security mechanisms or possibly have unspecified other impact by leveraging improperly rewritten Javascript.
- Record
CVE-2015-8857- Updated
- 2026-11-02
EUVDEUVD-2017-0154 No score
The uglify-js package before 2.4.24 for Node.js does not properly account for non-boolean values when rewriting boolean expressions, which might allow attackers to bypass security mechanisms or possibly have unspecified other impact by leveraging improperly rewritten Javascript.
- Record
EUVD-2017-0154- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-34r7-q49f-h37c
9.8
Incorrect Handling of Non-Boolean Comparisons During Minification in uglify-js
Versions of uglify-js prior to 2.4.24 are affected by a vulnerability which may cause crafted JavaScript to have altered functionality after minification.
Recommendation
Upgrade UglifyJS to version >= 2.4.24.
- Record
GHSA-34r7-q49f-h37c- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-670, CWE-1254
- Updated
- 2026-11-02
OSV
9.8
The uglify-js package before 2.4.24 for Node.js does not properly account for non-boolean values when rewriting boolean expressions, which might allow attackers to bypass security mechanisms or possibly have unspecified other impact by leveraging improperly rewritten Javascript.
- Record
CVE-2015-8857- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2015-8857
9.8
The uglify-js package before 2.4.24 for Node.js does not properly account for non-boolean values when rewriting boolean expressions, which might allow attackers to bypass security mechanisms or possibly have unspecified other impact by leveraging improperly rewritten Javascript.
- Record
DEBIAN-CVE-2015-8857- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 7 moreShow less
OSVGHSA-34r7-q49f-h37c
9.8
Incorrect Handling of Non-Boolean Comparisons During Minification in uglify-js
Versions of uglify-js prior to 2.4.24 are affected by a vulnerability which may cause crafted JavaScript to have altered functionality after minification.
Recommendation
Upgrade UglifyJS to version >= 2.4.24.
- Record
GHSA-34r7-q49f-h37c- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-1254, CWE-670
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2015-8857
9.8
The uglify-js package before 2.4.24 for Node.js does not properly account for non-boolean values when rewriting boolean expressions, which might allow attackers to bypass security mechanisms or possibly have unspecified other impact by leveraging improperly rewritten Javascript.
- Record
UBUNTU-CVE-2015-8857- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVCLSA-2026-1773274555 No score
TuxCare security update for uglify-js (2 CVEs)
TuxCare rebuilt uglify-js to address 2 CVEs. Fixed in 1.1.1-tuxcare.1.
- Record
CLSA-2026-1773274555- Updated
- 2026-11-02
OSVCLSA-2026-1774225180 No score
TuxCare security update for uglify-js (2 CVEs)
TuxCare rebuilt uglify-js to address 2 CVEs. Fixed in 1.3.5-tuxcare.1.
- Record
CLSA-2026-1774225180- Updated
- 2026-11-02
OSVCLSA-2026-1774225182 No score
TuxCare security update for uglify-js (2 CVEs)
TuxCare rebuilt uglify-js to address 2 CVEs. Fixed in 2.3.6-tuxcare.1.
- Record
CLSA-2026-1774225182- Updated
- 2026-11-02
OSVCLSA-2026-1776904629 No score
TuxCare security update for uglify-js (2 CVEs)
TuxCare rebuilt uglify-js to address 2 CVEs. Fixed in 2.8.29-tuxcare.1.
- Record
CLSA-2026-1776904629- Updated
- 2026-11-02
OSVCLSA-2026-1776904632 No score
TuxCare security update for uglify-js (2 CVEs)
TuxCare rebuilt uglify-js to address 2 CVEs. Fixed in 3.4.10-tuxcare.1.
- Record
CLSA-2026-1776904632- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
uglify-jsnpm |
before 2.4.24 | 2.4.24 |
uglifierRubyGems |
before 2.7.2 | 2.7.2 |
uglify-jsTuxCare:npm From an advisory covering 2 CVEs |
1.1.1-tuxcare.0 up to 1.1.1-tuxcare.1, plus listed versions 1.1.1 |
1.1.1-tuxcare.1 |
uglify-jsTuxCare:npm From an advisory covering 2 CVEs |
1.3.5-tuxcare.0 up to 1.3.5-tuxcare.1, plus listed versions 1.3.5 |
1.3.5-tuxcare.1 |
uglify-jsTuxCare:npm From an advisory covering 2 CVEs |
2.3.6-tuxcare.0 up to 2.3.6-tuxcare.1, plus listed versions 2.3.6 |
2.3.6-tuxcare.1 |
uglify-jsTuxCare:npm From an advisory covering 2 CVEs |
2.8.29-tuxcare.0 up to 2.8.29-tuxcare.1, plus listed versions 2.8.29 |
2.8.29-tuxcare.1 |
uglify-jsTuxCare:npm From an advisory covering 2 CVEs |
3.4.10-tuxcare.0 up to 3.4.10-tuxcare.1, plus listed versions 3.4.10 |
3.4.10-tuxcare.1 |
uglifyjsDebian:13 |
before 2.7.4-1 | 2.7.4-1 |
uglifierRubyGems |
before 2.7.2, plus listed versions 0.1.00.1.10.2.00.3.00.4.0 Show 39 moreShow less0.5.00.5.10.5.20.5.30.5.41.0.01.0.11.0.21.0.31.0.41.1.01.2.01.2.11.2.21.2.31.2.41.2.51.2.61.2.71.3.02.0.02.0.12.1.02.1.12.1.22.2.02.2.12.3.02.3.12.3.22.3.32.4.02.5.02.5.12.5.32.6.02.6.12.7.02.7.1 |
2.7.2 |
uglifyjsUbuntu:16.04:LTS |
All versions, plus listed versions 2.4.15-42.4.15-5 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2015-8857 is a critical vulnerability (CVSS 9.8) in Uglifyjs Project Uglifyjs, published January 23, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.56%, the 89th percentile. Fixed in uglify-js 2.4.24.
References
securityfocus.com/bid/96410
nodesecurity.io/advisories/39
openwall.com/lists/oss-security/2016/04/20/11
nvd.nist.gov/vuln/detail/CVE-2015-8857
github.com/mishoo/UglifyJS2/issues/751
zyan.scripts.mit.edu/blog/backdooring-js
Show 8 moreShow less
github.com/rubysec/ruby-advisory-db/blob/master/gems/uglifier/CVE-2015-8857.yml
web.archive.org/web/20200227190830/http://www.securityfocus.com/bid/96410
github.com/lautis/uglifier/commit/4677bfe38142937ff952f95605bcec4618892c3e
github.com/advisories/GHSA-34r7-q49f-h37c
security-tracker.debian.org/tracker/CVE-2015-8857
github.com/mishoo/UglifyJS2
ubuntu.com/security/CVE-2015-8857
cve.org/CVERecord?id=CVE-2015-8857