CVE-2015-8855 in semver Packageinfo

Summary

by MITRE

The semver package before 4.3.2 for Node.js allows attackers to cause a denial of service (CPU consumption) via a long version string, aka a "regular expression denial of service (ReDoS)."

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 05/14/2026

The vulnerability identified as CVE-2015-8855 represents a critical regular expression denial of service flaw within the semver package version 4.3.1 and earlier for Node.js environments. This vulnerability stems from the package's inadequate handling of malformed version strings during semantic version parsing operations, creating a pathway for malicious actors to exploit CPU resource exhaustion through carefully crafted input sequences. The semver package serves as a fundamental dependency for Node.js applications that require version comparison and validation, making this vulnerability particularly dangerous as it can affect numerous applications across the ecosystem.

The technical root cause of this vulnerability lies in the regular expression patterns used within the semver package's parsing logic. When processing version strings, the package employs regular expressions that are susceptible to catastrophic backtracking behavior, a well-documented weakness in regex implementations. Attackers can craft version strings containing repetitive patterns that cause the regular expression engine to perform exponentially increasing amounts of work, leading to excessive CPU consumption and eventual system resource exhaustion. This specific vulnerability maps directly to CWE-400, which categorizes improper input validation leading to resource exhaustion attacks. The attack vector specifically targets the package's version string parsing functions, where the regular expressions are designed to match semantic versioning formats but fail to account for malicious input patterns that trigger backtracking.

The operational impact of CVE-2015-8855 extends beyond simple service disruption to encompass broader system stability and availability concerns. When exploited, this vulnerability can cause applications using vulnerable semver versions to consume 100% CPU resources, effectively rendering them unresponsive and potentially causing cascading failures in dependent systems. This is particularly concerning in production environments where Node.js applications may be processing user-provided version strings or in automated build systems that rely on semver validation. The vulnerability can be exploited through various attack vectors including user input processing, package manifest validation, or dependency resolution flows. From an adversarial perspective, this flaw aligns with ATT&CK technique T1499.004, which covers network denial of service attacks through resource exhaustion, and T1595.001, which involves reconnaissance of target systems through information gathering.

Mitigation strategies for CVE-2015-8855 primarily focus on upgrading to semver version 4.3.2 or later, which includes patches that address the regular expression backtracking issues. Organizations should conduct comprehensive dependency audits to identify all applications and systems utilizing vulnerable versions of the semver package, particularly those in critical infrastructure or high-traffic environments. Additionally, implementing input validation and sanitization measures at application boundaries can provide defense-in-depth protection against exploitation attempts. The vulnerability highlights the importance of proper regex design and the need for thorough testing of regular expressions against malicious input patterns. Security teams should also consider implementing rate limiting and resource monitoring for applications processing version strings to detect and mitigate potential exploitation attempts. This vulnerability serves as a reminder of the critical importance of regular security updates and the potential impact of seemingly minor parsing flaws in widely-used libraries.

Reservation

04/20/2016

Disclosure

01/23/2017

Moderation

accepted

Entry

VDB-95811

CPE

ready

EPSS

0.06488

KEV

no

Activities

very low

Sources

Interested in the pricing of exploits?

See the underground prices here!