Cloudanix VulnDB

CVE-2016-7099

Medium · 5.9

CVSS

5.9

EPSS

2.8%

Published

Oct 10, 2016

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in older Node.js versions could let attackers pretend to be trusted servers and secretly read or change information sent over secure connections.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Moderate
Impact
Data Tampering
Component
Library
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The tls.checkServerIdentity function fails to correctly validate wildcards in X.509 certificate name fields, permitting spoofed server identities during TLS handshakes.

Why it matters to the business

Organizations running affected Node.js versions face risk of encrypted traffic interception, which can expose sensitive data in transit and undermine trust in secure communications.

How an attack unfolds

An attacker intercepts network traffic to a Node.js application, supplies a crafted X.509 certificate containing a malicious wildcard pattern, and exploits the improper validation to impersonate a legitimate server and decrypt or modify the session.

How to fix it

Upgrade Node.js to 0.10.47, 0.12.16, 4.6.0, 6.7.0 or newer; apply the patch from commit 743f0c916469f3129dfae406fa104dc46782e20b in the nodejs/node repository.

How to confirm the fix worked

Confirm the installed Node.js version meets or exceeds the fixed releases and execute test cases that exercise wildcard certificate validation against known-good and malicious patterns.

Typical attack path

  1. Position as a network intermediary to observe TLS connections
  2. Generate a certificate with a wildcard that bypasses the flawed identity check
  3. Present the certificate during the TLS handshake
  4. Complete the connection as the spoofed server
  5. Decrypt or manipulate application data in transit

How to detect it

Review application and TLS library logs for unexpected successful handshakes with non-standard certificate subjects; search network flow data for connections that bypass expected server identity checks.

What your security team should do

  • Immediately update all Node.js deployments to the fixed versions listed in remediation guidance
  • Audit TLS client code that relies on checkServerIdentity for any custom overrides
  • Reissue or rotate any long-lived credentials transmitted over previously vulnerable connections

The record

The tls.checkServerIdentity function in Node.js 0.10.x before 0.10.47, 0.12.x before 0.12.16, 4.x before 4.6.0, and 6.x before 6.7.0 does not properly handle wildcards in name fields of X.509 certificates, which allows man-in-the-middle attackers to spoof servers via a crafted certificate.

Affected packages

Ecosystem Package Introduced Fixed
Debian:10 nodejs 0 4.6.0~dfsg-1
Debian:11 nodejs 0 4.6.0~dfsg-1
Debian:12 nodejs 0 4.6.0~dfsg-1
Debian:13 nodejs 0 4.6.0~dfsg-1
Mageia:5 nodejs 0 0.10.48-1.mga5
Red Hat:rhel_software_collections:2::el6 rh-nodejs4-http-parser 0 0:2.7.0-2.el6
Red Hat:rhel_software_collections:2::el6 rh-nodejs4-http-parser-debuginfo 0 0:2.7.0-2.el6
Red Hat:rhel_software_collections:2::el6 rh-nodejs4-http-parser-devel 0 0:2.7.0-2.el6
Red Hat:rhel_software_collections:2::el6 rh-nodejs4-nodejs 0 0:4.6.2-4.el6
Red Hat:rhel_software_collections:2::el6 rh-nodejs4-nodejs-debuginfo 0 0:4.6.2-4.el6
Red Hat:rhel_software_collections:2::el6 rh-nodejs4-nodejs-devel 0 0:4.6.2-4.el6
Red Hat:rhel_software_collections:2::el6 rh-nodejs4-nodejs-docs 0 0:4.6.2-4.el6
Red Hat:rhel_software_collections:2::el7 rh-nodejs4-http-parser 0 0:2.7.0-2.el7
Red Hat:rhel_software_collections:2::el7 rh-nodejs4-http-parser-debuginfo 0 0:2.7.0-2.el7
Red Hat:rhel_software_collections:2::el7 rh-nodejs4-http-parser-devel 0 0:2.7.0-2.el7
Red Hat:rhel_software_collections:2::el7 rh-nodejs4-nodejs 0 0:4.6.2-4.el7
Red Hat:rhel_software_collections:2::el7 rh-nodejs4-nodejs-debuginfo 0 0:4.6.2-4.el7
Red Hat:rhel_software_collections:2::el7 rh-nodejs4-nodejs-devel 0 0:4.6.2-4.el7
Red Hat:rhel_software_collections:2::el7 rh-nodejs4-nodejs-docs 0 0:4.6.2-4.el7
SUSE:Linux Enterprise Module for Web and Scripting 12 nodejs4 0 4.6.0-8.1
SUSE:Linux Enterprise Server 11 SP4-LTSS MozillaFirefox 0 68.2.0-78.51.4
SUSE:Linux Enterprise Server 11 SP4-LTSS MozillaFirefox-branding-SLED 0 68-21.9.8
SUSE:Linux Enterprise Server 11 SP4-LTSS firefox-atk 0 2.26.1-2.8.4
SUSE:Linux Enterprise Server 11 SP4-LTSS firefox-cairo 0 1.15.10-2.13.4
SUSE:Linux Enterprise Server 11 SP4-LTSS firefox-gdk-pixbuf 0 2.36.11-2.8.4
SUSE:Linux Enterprise Server 11 SP4-LTSS firefox-glib2 0 2.54.3-2.14.7
SUSE:Linux Enterprise Server 11 SP4-LTSS firefox-gtk3 0 3.10.9-2.15.3
SUSE:Linux Enterprise Server 11 SP4-LTSS firefox-harfbuzz 0 1.7.5-2.7.4
SUSE:Linux Enterprise Server 11 SP4-LTSS firefox-libffi 0 3.2.1.git259-2.3.3
SUSE:Linux Enterprise Server 11 SP4-LTSS firefox-libffi-gcc5 0 5.3.1+r233831-14.1
SUSE:Linux Enterprise Server 11 SP4-LTSS firefox-pango 0 1.40.14-2.7.4
SUSE:Linux Enterprise Server 11 SP4-LTSS mozilla-nspr 0 4.21-29.6.1
SUSE:Linux Enterprise Server 11 SP4-LTSS mozilla-nss 0 3.45-38.9.3
Ubuntu:18.04:LTS nodejs 0 8.10.0~dfsg-2
Ubuntu:Pro:14.04:LTS nodejs 0 0.10.25~dfsg2-2ubuntu1.2+esm1
Ubuntu:Pro:16.04:LTS nodejs 0 4.2.6~dfsg-1ubuntu4.2+esm1
Ubuntu:Pro:18.04:LTS nodejs 0 8.10.0~dfsg-2ubuntu0.4+esm1

Related vulnerabilities