SchwachstellendatenbankGHSA-pqxc-r4h5-jc95

GHSA-pqxc-r4h5-jc95: 
JavaScript Schwachstellenanalyse und -minderung

Summary

A wildcard redirect route rule whose target is /** copies the rest of the request path into the Location header. The 2.13.4 fix for GHSA-9phm-9p8f-hw5m collapses only a leading //, and only when the rule has no strip base. A remainder that starts with a backslash (raw or %5C) or with a tab followed by a slash (%09/) is emitted unchanged. Browsers treat \ as / in special-scheme URLs and strip tab, LF and CR, so /\evil.example and /<TAB>/evil.example resolve to //evil.example, a cross-origin redirect.

Details

Affected code (nitropack v2):

  • src/runtime/internal/route-rules.ts, redirect branch:
    • With a strip base ('/old/**'): isPathInScope() passes, because WHATWG URL canonicalizes \ to / and the path stays under /old. Then withoutBase(event.path, base) returns /\evil.example unchanged, and joinURL("/", ...) keeps it.
    • Without a strip base ('/**'): only ^//+ is collapsed. /\, /%5C and /<TAB>/ pass through.
  • h3 v1 has already decoded %5C and %09 in event.path, so the Location contains the literal characters.

Proof of concept

export default defineNitroConfig({
  routeRules: { "/old/**": { redirect: "/**" } },
});
RequestLocation (≤ 2.13.5)Browser resolves toLocation after fix
/old/%5Cevil.example/\evil.examplehttps://evil.example/evil.example
/old/\evil.example/\evil.examplehttps://evil.example/evil.example
/old/%5c%5cevil.example/\\evil.examplehttps://evil.example/evil.example
/old/%5C/evil.example/\/evil.examplehttps://evil.example/evil.example
/old/%09/evil.example/<TAB>/evil.examplehttps://evil.example/evil.example
/%5Cevil.example (catch-all '/**')/\evil.examplehttps://evil.example/evil.example
/%09/evil.example (catch-all)/<TAB>/evil.examplehttps://evil.example/evil.example
/old/%0A/evil.example500 (Node rejects the header)not exploitable on Node; defence in depth/evil.example

Impact

An attacker sends a victim a link on the trusted site, such as https://victim.example/old/%5Cevil.example. The site redirects the victim's browser to an attacker-controlled origin. You are affected if all of these are true:

  • you use nitropack v2 (including Nuxt 3 and 4 on nitropack 2);
  • you have a redirect route rule whose target is exactly /**, with nothing before it;
  • the Nitro runtime handles the redirect, not a platform's generated config.

Patches

Fixed in nitropack 2.13.6. Any leading run of slashes, backslashes, control characters and their percent-encoded forms in the redirect remainder is collapsed to a single /, so the Location header is always a same-origin path.

Workarounds

If you cannot upgrade:

  • use a redirect target with a non-empty prefix (for example /new/** instead of /**);
  • or define the redirect in your platform's or reverse proxy's configuration instead of a Nitro route rule.

Quelle: NVD

Verwandte Themen JavaScript Schwachstellen:

CVE-ID

Schwere

Punktzahl

Technologieen

Bauteilname

CISA KEV-Exploit

Hat Lösung

Veröffentlichungsdatum

GHSA-rhhp-7488-3qwfMEDIUM6.5
  • JavaScript logoJavaScript
  • nitropack
NeinJaNov 02, 2026
GHSA-pqxc-r4h5-jc95MEDIUM6.1
  • JavaScript logoJavaScript
  • nitropack
NeinJaNov 02, 2026
GHSA-39r7-wfcx-99xgMEDIUM4.8
  • JavaScript logoJavaScript
  • nitropack
NeinJaNov 02, 2026
GHSA-xrjv-fc7j-8f77HIGHN/A
  • JavaScript logoJavaScript
  • @graphql-tools/batch-execute
NeinNeinNov 02, 2026
GHSA-7p5p-67m9-5c8jHIGHN/A
  • JavaScript logoJavaScript
  • @graphql-tools/executor-http
NeinNeinNov 02, 2026

Kostenlose Verwundbarkeitsbewertung

Benchmark für Ihre Cloud-Sicherheitslage

Bewerten Sie Ihre Cloudsicherheitspraktiken in 9 Sicherheitsbereichen, um Ihr Risikoniveau zu bewerten und Schwachstellen in Ihren Verteidigungen zu identifizieren.

Anforderungsbewertung

Zusätzliche Wiz-Ressourcen

Eine personalisierte Demo anfordern

Sind Sie bereit, Wiz in Aktion zu sehen?

"Die beste Benutzererfahrung, die ich je gesehen habe, bietet vollständige Transparenz für Cloud-Workloads."
David EstlickCISO
"„Wiz bietet eine zentrale Oberfläche, um zu sehen, was in unseren Cloud-Umgebungen vor sich geht.“ "
Adam FletcherSicherheitsbeauftragter
"„Wir wissen, dass, wenn Wiz etwas als kritisch identifiziert, es auch wirklich kritisch ist.“"
Greg PoniatowskiLeiter Bedrohungs- und Schwachstellenmanagement