Description
decode-uri-component provides a more robust alternative to decodeURIComponent. Prior to 0.5.1, decodeUriComponent in index.js falls back to customDecodeURIComponent after native decoding throws, and the fallback collects every distinct percent-encoded run before performing a full-string regular-expression replacement for each entry. Malformed input containing many distinct runs can therefore make both the number of replacements and the scanned input length grow together, causing quadratic CPU consumption and blocking the Node.js event loop; request-body inputs can reach the demonstrated size, while ordinary URL header limits reduce the practical delay. This issue is fixed in version 0.5.1.
Published: 2026-10-28
Score: 8.2 High
EPSS: < 1% Very Low
KEV: No
AI Analysis

Analysis and contextual insights are available on OpenCVE Cloud.

Remediation

No solution or workaround provided in the CVE record.

Additional remediation guidance may be available on OpenCVE Cloud.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-qr28-fpjm-wq7f decode-uri-component vulnerable to denial of service via quadratic replacement of percent-encoded runs
History

Fri, 30 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-1322
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Important


Thu, 29 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 28 Oct 2026 22:15:00 +0000

Type Values Removed Values Added
First Time appeared Samverschueren
Samverschueren decode-uri-component
Vendors & Products Samverschueren
Samverschueren decode-uri-component

Wed, 28 Oct 2026 20:45:00 +0000

Type Values Removed Values Added
Description decode-uri-component provides a more robust alternative to decodeURIComponent. Prior to 0.5.1, decodeUriComponent in index.js falls back to customDecodeURIComponent after native decoding throws, and the fallback collects every distinct percent-encoded run before performing a full-string regular-expression replacement for each entry. Malformed input containing many distinct runs can therefore make both the number of replacements and the scanned input length grow together, causing quadratic CPU consumption and blocking the Node.js event loop; request-body inputs can reach the demonstrated size, while ordinary URL header limits reduce the practical delay. This issue is fixed in version 0.5.1.
Title decode-uri-component: Denial of service via quadratic replacement of percent-encoded runs
Weaknesses CWE-400
CWE-407
References
Metrics cvssV4_0

{'score': 8.2, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Samverschueren Decode-uri-component
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-29T17:23:10.863Z

Reserved: 2026-10-28T17:25:37.562Z

Link: CVE-2026-118664

cve-icon Vulnrichment

Updated: 2026-10-29T15:29:26.956Z

cve-icon NVD

Status : Deferred

Published: 2026-10-28T21:16:56.687

Modified: 2026-10-29T18:17:28.070

Link: CVE-2026-118664

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-28T20:37:19Z

Links: CVE-2026-118664 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T13:45:15Z

Weaknesses