Skip to main content

Node.js ReDoS Vulnerability

Researchers have disclosed vulnerabilities in the Node.js JavaScript-based runtime. They claim that an attacker could exploit these vulnerabilities to perform regular expression (regex) denial-of-service (ReDos) attacks on web applications and servers using Node.js.
Report a cyber attack: call 0300 303 5222 or email [email protected]

This content has been archived

This article no longer conforms to NHS Digital's standards for cyber alerts, and may contain outdated or inaccurate information. Use of this information contained in this page is at your own risk

Summary

Researchers have disclosed vulnerabilities in the Node.js JavaScript-based runtime. They claim that an attacker could exploit these vulnerabilities to perform regular expression (regex) denial-of-service (ReDos) attacks on web applications and servers using Node.js.

Threat details

They claim that an attacker could exploit these vulnerabilities to perform regular expression (regex) denial-of-service (ReDos) attacks on web applications and servers using Node.js.

The vulnerabilities lie in how Node.js-based applications accept regexes. If the application library is not designed to handle various edge cases then the inputted regex can cause the application to freeze whilst the server attempts to analyse it. As most JavaScript servers use a single-thread execution model, where every request is handled by the same thread, this can cause the entire server to hang or crash.

A ReDoS attack exploits the fact that most regex implementations can be forced into extreme computational situations that cause them to work very slowly. Malicious regexes can be queued so even if a device outputs one regex it will immediately be forced into computing another.

For further information


Remediation steps

Type Step
Fixes for the affected modules can be found here. Users and administrators are advised to apply these updates immediately.

Last edited: 17 February 2020 12:50 pm