„`html
Zusammenfassung
Die Sicherheitslücke CVE-2026-59195 betrifft den Package Manager pnpm in den Versionen vor 10.34.4 und 11.8.0. Die Schwachstelle ermöglicht es Angreifern, durch manipulierte pnpm-lock.yaml-Dateien Path-Traversal-Angriffe durchzuführen. Dies kann zur Erstellung von Symlinks außerhalb des vorgesehenen Verzeichnisses führen und potenzielle Sicherheitsrisiken mit sich bringen.
Betroffene Systeme
Folgende Versionen sind anfällig:
- pnpm < 10.34.4
- pnpm < 11.8.0
Das Betriebssystem oder die Architektur spielen bei dieser Schwachstelle keine Rolle, da pnpm plattformĂĽbergreifend verfĂĽgbar ist.
Technische Details
Die Verwundbarkeit liegt in der Verarbeitung der configDependencies-Sektion aus dem env-lockfile in der pnpm-lock.yaml-Datei. pnpm validiert die Package-Namen nicht ausreichend und verwendet diese direkt bei der Erstellung von Symlinks im Verzeichnis node_modules/.pnpm-config.
Ein Angreifer kann durch eine manipulierte pnpm-lock.yaml mit Path-Traversal-Sequenzen (z.B. ../) im Dependency-Namen gezielt Symlinks außerhalb des beabsichtigten Verzeichnisses erstellen. Dies geschieht automatisch während der pnpm install-Ausführung.
Potenzielle Auswirkungen umfassen:
- Unbefugtes Ăśberschreiben von Systemdateien
- Privilege-Escalation durch gezielte Symlink-Platzierung
- Beeinträchtigung der Integrität des Projekts
Empfohlene Massnahmen
Sofortige MaĂźnahmen:
- Aktualisierung auf pnpm 10.34.4 oder neuer beziehungsweise 11.8.0 oder neuer
- Überprüfung der pnpm-lock.yaml-Dateien auf verdächtige Dependency-Namen
- Code-Review von kĂĽrzlich eingecheckten pnpm-lock.yaml-Dateien durchfĂĽhren
Langfristige SicherheitsmaĂźnahmen:
- Automatische Updates fĂĽr pnpm aktivieren
- Dependency-Scanning und Lock-File-Validation in CI/CD-Pipelines integrieren
Bewertung
CVSS 3.1 Score: 8.2 (High)
Die hohe Bewertung reflektiert das erhebliche Risiko durch lokale Dateisystem-Manipulation. Der Angriffsvektor ist netzwerkgebunden, da manipulierte Repositories remote vorkommen können. Sofortige Patches sollten eingespielt werden.
„`