CVE-2026-9277
shell-quote quote() validiert keine Objekt-Token-Formen, was eine Befehlsinjektion über Zeilenabschlusszeichen in .op ermöglicht.
- Veröffentlicht
- 22.05.2026
- Aktualisiert
- 14.09.2026
- CNA zuweisen
- harborist
- Beweise beobachtet
- 17.08.2026
Primäres CVSS
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XNiedrig · nächste 30 Tage
- Perzentil
- 56,1 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
# Sicherheitslücke in shell-quote: `quote()` validiert Objekt-Token nicht gegen das Operator-Modell Die `quote()`-Funktion von shell-quote validierte Objekt-Token-Eingaben nicht gegen das Operator-Modell, das von `parse()` verwendet wird. Das `.op`-Feld wurde Zeichen für Zeichen mit `/(.)/g` mit Backslash maskiert, was in JavaScript keine Zeilenabschlusszeichen (\n, \r, U+2028, U+2029) abdeckt. Ein Zeilenabschlusszeichen in `.op` gelangte daher unescaped in die Ausgabe; POSIX-Shells behandeln einen wörtlichen Zeilenumbruch als Befehlsseparator, sodass jeglicher Inhalt danach als zweiter Befehl ausgeführt würde. Der verwundbare Codepfad ist auf zwei Arten erreichbar: (1) direkte Konstruktion von `{ op: '...\n...' }` aus externer Eingabe und (2) über `parse(cmd, envFn)`, wenn `envFn` Objekt-Token zurückgibt, deren `.op` vom Angreifer beeinflusst ist. Beides ist dokumentierte API-Oberfläche. Behoben durch Ersetzen der zeichenweisen Maskierung durch eine strikte Formvalidierung: `.op` muss der Kontrolloperator-Allowlist des Parsers entsprechen; `{ op: 'glob', pattern }` validiert `pattern` und verbietet Zeilenabschlusszeichen; `{ comment }` validiert `comment` und verbietet Zeilenabschlusszeichen; jede andere Objektform wirft einen `TypeError`.
Quellen
1Proof-of-Concept-Exploit für CVE-2026-9277, eine Befehlsinjektions-Schwachstelle in der shell-quote-Bibliothek. Führt rekursive JSON-Traversierung mit kombinatorischer Mutation durch, um RCE auszulösen, unterstützt OOB-Verifizierung und Zero-Noise-Protokollierung.
Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.