Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2021-26700 — RCE in der NPM-VSCode-Erweiterung | Kitploit
Tools/GitHubGitHub/jackadamson/cve-2021-26700
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationLieferkettensicherheitLernen & Bildung
GitHubjackadamson/cve-2021-26700

CVE-2021-26700

RCE in der NPM-VSCode-Erweiterung

Repository anzeigen
20vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

RCE in der NPM VSCode-Erweiterung

Behoben am 10. Februar 2021 in https://github.com/microsoft/vscode-npm-scripts/commit/cdd5e507564e0cc0f60bcccf184822be3fd73e07

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-26700

Zusammenfassung

Eine Schwachstelle zur Fernausführung von Code in der VSCode-Erweiterung eg2.vscode-npm-script (getestet mit Version 0.3.13) bedeutet, dass eine bösartige .vscode/settings.json in einem Projekt eine Fernausführung von Code verursachen kann, wenn eine Datei namens package.json angezeigt wird.

Diese Schwachstelle fiel unter kein aktives Microsoft Bug-Bounty-Programm, wurde jedoch an MSRC gemeldet und von diesem bearbeitet.

Beschreibung

Ohne eine bösartige .vscode/settings.json-Datei in einem Repository wird beim Anzeigen einer package.json-Datei mit installierter Erweiterung eg2.vscode-npm-script der Befehl npm ls --depth 0 --json ausgeführt.

Durch Setzen des npm.bin-Schlüssels in der settings.json eines Projekts, z. B. auf ./payload.sh, wird beim Anzeigen der package.json stattdessen ./payload.sh ls --depth 0 --json aus dem Verzeichnis, das die package.json enthält, ausgeführt.

Diese Schwachstelle bricht die Annahme, dass Quellcode sicher gelesen werden kann.

Beispielangriff

  1. Angreifer veröffentlicht ein Repository, z. B. das beigefügte linux-poc
  2. Ziel klont das Repository, um den Quellcode in VSCode zu lesen
  3. Ziel zeigt package.json an
  4. payload.sh wird ausgeführt

Abhilfemaßnahmen

Ich habe zwei Möglichkeiten gesehen, bösartige VSCode-Arbeitsbereichs-settings.json zu entschärfen

Abhilfe 1 – Nur Benutzereinstellungen

Verbieten, dass die Einstellungen pro Arbeitsbereich festgelegt werden. Dies wird von VSCode bereits für git.path, terminal.integrated.shell.linux und einige andere Einstellungen verwendet.

Dies könnte die Kompatibilität für einige Benutzer beeinträchtigen, hat aber Präzedenzfall.
Referenz: https://vscode.readthedocs.io/en/latest/getstarted/settings/#settings-and-security

Abhilfe 2 – Bestätigungsaufforderung

Wenn diese Einstellung in einem Arbeitsbereich festgelegt ist, fordern Sie den Benutzer auf, die Einstellung zu bestätigen, bevor die Binärdatei ausgeführt wird.
Dies wird die bestehende Kompatibilität nicht beeinträchtigen und ist der Weg, den die ESLint-Erweiterung ab Version 2.1.7 gewählt hat.

Nachweis des Konzepts

Linux

  1. Installieren Sie die anfällige Version (0.3.13 oder früher) der VSCode-Erweiterung eg2.vscode-npm-script
  2. Öffnen Sie das Verzeichnis linux-poc als Ordner in VSCode
  3. Klicken Sie in VSCode auf die Datei package.json, um sie anzuzeigen
  4. Die Datei /tmp/output.txt wird erstellt, um die Ausführung zu demonstrieren

Windows

  1. Installieren Sie die anfällige Version (0.3.13 oder früher) der VSCode-Erweiterung eg2.vscode-npm-script
  2. Öffnen Sie das Verzeichnis windows-poc als Ordner in VSCode
  3. Klicken Sie in VSCode auf die Datei package.json, um sie anzuzeigen
  4. calc.exe wird geöffnet

Hinweis: Ich konnte keinen relativen Pfad für die Binärdatei unter Windows verwenden, was jedoch an meiner mangelnden Vertrautheit mit Windows liegen könnte.

Tool herunterladen