CVE-2026-11422
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 5 - wyżej niż 5% wszystkich znanych CVE
Streszczenie
Rozszerzenie Markdown Preview Enhanced 0.8.x z silnikiem crossnote 0.9.28 zawiera podatność na wstrzyknięcie kodu w potoku renderowania WaveDrom. Atakujący może osadzić złośliwą treść w bloku kodu wavedrom w dokumencie Markdown, co prowadzi do wykonania dowolnego JavaScript w kontekście webview VS Code i zapisu dowolnych plików na lokalnym systemie plików.
Ocena ryzyka
Atakujący może zdalnie wykonać dowolny kod JavaScript w kontekście VS Code, co może prowadzić do przejęcia kontroli nad edytorem i systemem plików ofiary.
Rekomendacja
Zaktualizuj rozszerzenie Markdown Preview Enhanced do wersji 0.8.10 lub nowszej, która zawiera poprawkę.
Inne podatności w Markdown Preview Enhanced
Zobacz wszystkie- CVE-2026-54703Średnie
W Markdown Preview Enhanced przed wersją 0.8.30 polecenie _crossnote.updateMarkdown przyjmuje dowolny URI i treść kontrolowaną przez atakującego, a następnie przekazuje je do vscode.workspace.fs.writeFile bez walidacji, że cel jest plikiem Markdown reprezentowanym przez bieżący podgląd. JavaScript działający już w webview podglądu może wywołać to polecenie przez mostek komunikatów rozszerzenia i zapisać dowolny plik dozwolony przez uprawnienia systemowe użytkownika VS Code.
- CVE-2026-54702Wysokie
Rozszerzenie Markdown Preview Enhanced dla Visual Studio Code przed wersją 0.8.30 nie waliduje polecenia ani argumentów przesyłanych z webview. JavaScript działający w podglądzie może wywołać uprzywilejowane polecenia rozszerzenia, w tym modyfikację plików, wykonanie kodu, uruchomienie narzędzi eksportu i otwieranie dowolnych adresów URL. Wykorzystanie wymaga osobnej ścieżki wykonania JavaScript w webview, np. wstrzyknięcia przez .crossnote/head.html.
- CVE-2026-54701Średnie
W Markdown Preview Enhanced przed wersją 0.8.30 rozszerzenie odczytuje kontrolowaną przez repozytorium zawartość .crossnote/head.html i przekazuje ją przez resolvePathsInHeader, wstawiając do nagłówka dokumentu webview podglądu bez usuwania treści wykonywalnej. Znaczniki ze zdolnością do skryptów wykonują się podczas ładowania dokumentu, przed inicjalizacją React i DOMPurify, i mogą uzyskać dostęp do acquireVsCodeApi.
- CVE-2026-54566Wysokie
Rozszerzenie Markdown Preview Enhanced dla Visual Studio Code przed wersją 0.8.29 wykonuje pliki .crossnote/config.js i .crossnote/parser.js z repozytorium za pomocą vm.runInNewContext, co nie stanowi granicy bezpieczeństwa względem środowiska Node.js. Otwarcie pliku Markdown w złośliwym repozytorium automatycznie ładuje te pliki, a przejście po łańcuchu prototypów pozwala dotrzeć do konstruktora Function i obiektu process, umożliwiając wykonanie poleceń systemowych bez dalszej interakcji.
- CVE-2026-54525Wysokie
Rozszerzenie Markdown Preview Enhanced dla Visual Studio Code przed wersją 0.8.28 przekazuje zdekodowany, kontrolowany przez Markdown cel linku do pomocnika otwierającego pliki w Windows, który wywołuje child_process.exec z komendą start. Gdy użytkownik Windows otworzy niezaufany plik Markdown i kliknie spreparowany link, metaznaki powłoki w zdekodowanym celu są interpretowane przez cmd.exe jako separatory komend, co pozwala na uruchomienie dowolnej komendy z uprawnieniami użytkownika VS Code.
Oryginalny opis (angielski, źródło NVD)
Markdown Preview Enhanced 0.8.x with crossnote engine 0.9.28 contains a code injection vulnerability in the WaveDrom rendering pipeline that allows attackers to execute arbitrary JavaScript by embedding malicious content in a wavedrom fenced code block within a crafted Markdown document. Attackers can exploit the unsanitized passing of wavedrom block content to window.eval() in the VS Code webview context to abuse the extension's message passing and invoke arbitrary file writes on the local filesystem.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

