Skip to main content
No exploitation reportedFix available

CVE-2020-26291

No exploitation reported by the sources we read.

  • Published2020-12-31
  • Fixed in1.19.4
  • WeaknessCWE-20

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

URI.js is a javascript URL mutation library (npm package urijs). In URI.js before version 1.19.4, the hostname can be spoofed by using a backslash (`\`) character followed by an at (`@`) character. If the hostname is used in security decisions, the decision may be incorrect. Depending on library usage and attacker intent, impacts may include allow/block list bypasses, SSRF attacks, open redirects, or other undesired behavior. For example the URL `https://expected-example.com\@observed-example.com` will incorrectly return `observed-example.com` if using an affected version. Patched versions correctly return `expected-example.com`. Patched versions match the behavior of other parsers which implement the WHATWG URL specification, including web browsers and Node's built-in URL class. Version 1.19.4 is patched against all known payload variants. Version 1.19.3 has a partial patch but is still vulnerable to a payload variant.]

Timeline

dates in UTC
  1. 2020-12-3100:15CVE publishedNVD

Versions per branch

NVD · OSV
Uri.js project uri.js
BranchAffectedFixed in
1.19< 1.19.41.19.4

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Distribution builds and vendor advisories

Packages from OSV.dev and products from the vendors' CSAF advisories.

version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.

Vendor advisories

  • RHSA-2021:3917 Red Hat Product Security1 product fixed

    Red Hat Security Advisory: Red Hat Quay v3.6.0 security, bug fix and enhancement update

Full record on NVD

Fix

  1. Update Uri.js project uri.js to 1.19.4
  2. Vendor fix Red Hat Product Security RHSA-2021:3917 · 1 productFor details on how to apply this update, which includes the changes described in this advisory, refer to: https://access.redhat.com/articles/11258

Advisories and patches

Detection

Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof of concept
Metasploit modules
none listed
Metasploit Framework

Sources

  • CNACVSS 3.16.5known since 2026-10-23
  • NVDCVSS 3.16.5read 2026-10-23
  • NVDCVSS 2.04read 2026-10-23
  • CNAweakness (CWE)CWE-20known since 2026-10-23
  • FIRST EPSSEPSS score1.7 %2026-11-09
  • OSVaffected packages—
  • GitHub AdvisoriesadvisoryMODERATE2020-12-30

Identifiers

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Published
2020-12-31
Last Modified
2026-06-17
NVD status
Modified
GitHub Advisory
GHSA-3329-pjwv-fjpg

Frequently asked questions

What is CVE-2020-26291?

URI.js is a javascript URL mutation library (npm package urijs). In URI.js before version 1.19.4, the hostname can be spoofed by using a backslash (`\`) character followed by an at (`@`) character. If the hostname is used in security decisions, the decision may be incorrect. Depending on library usage and attacker intent, impacts may include allow/block list bypasses, SSRF attacks, open redirects, or other undesired behavior. For example the URL `https://expected-example.com\@observed-example.com` will incorrectly return `observed-example.com` if using an affected version. Patched versions correctly return `expected-example.com`. Patched versions match the behavior of other parsers which implement the WHATWG URL specification, including web browsers and Node's built-in URL class. Version 1.19.4 is patched against all known payload variants. Version 1.19.3 has a partial patch but is still vulnerable to a payload variant.]

Is CVE-2020-26291 actively exploited?

Active exploitation of CVE-2020-26291 has not been confirmed. Its EPSS score was 1.7% on 2026-11-09, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2020-26291?

CVE-2020-26291 has a CVSS v3 base score of 6.5 (MEDIUM severity), with vector string CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N.

Running urijs? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month

Sources for this record