Cloudanix VulnDB

CVE-2015-8855

High · 7.5

CVSS

7.5

EPSS

6.7%

Published

Jan 23, 2017

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

Attackers can send specially crafted long text to slow down or stop systems that read software version numbers, making online services unavailable.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

A regular expression in the semver package performs catastrophic backtracking when given a long version string, resulting in excessive CPU consumption and denial of service.

Why it matters to the business

Services relying on affected Node.js components or WordPress deployments can experience prolonged unavailability or high resource usage, leading to degraded performance and potential operational disruption until resources are restored.

How an attack unfolds

An attacker locates an entry point that passes untrusted input to semver parsing functions, crafts a long version string engineered to trigger regex backtracking, and submits it to induce sustained CPU exhaustion.

How to fix it

Upgrade the semver package to version 4.3.2 or later; for WordPress (Bitnami) deployments, apply the fixed release 5.8.3 or newer.

How to confirm the fix worked

Confirm the installed semver package version meets or exceeds 4.3.2; re-test parsing functions with known ReDoS payloads to verify CPU usage remains bounded.

Typical attack path

  1. Locate endpoints or APIs that accept and process version strings
  2. Generate a long, specially formatted version string that maximizes regex backtracking
  3. Transmit the payload to the vulnerable semver function
  4. Observe or repeat requests to maintain elevated CPU usage and service degradation

How to detect it

Review application and web server logs for requests containing unusually long version strings or entries showing extended processing times and elevated CPU on parsing threads; correlate with semver library calls if logging permits.

What your security team should do

  • Prioritize package upgrades to the stated fixed versions across all affected environments
  • Enforce strict input length validation on any version-string fields before parsing
  • Monitor application CPU and request latency for anomalous spikes tied to version handling

The record

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)."

Affected packages

Ecosystem Package Introduced Fixed
npm semver 0 4.3.2
npm semver 1.0.4 4.3.2
Debian:10 node-semver 0 5.3.0-1
Debian:11 node-semver 0 5.3.0-1
Debian:12 node-semver 0 5.3.0-1
Debian:13 node-semver 0 5.3.0-1
Ubuntu:18.04:LTS node-semver 0 5.4.1-1
Ubuntu:Pro:14.04:LTS node-semver 0 2.1.0-2ubuntu0.0.1~esm1
Ubuntu:Pro:16.04:LTS node-semver 0 2.1.0-2ubuntu0.1~esm1

Related vulnerabilities