CVE-2026-66921
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
Renderer odwołań do węzłów Markdown w Pivotick nie koduje HTML wartości nodeName pochodzącej od atakującego, co pozwala na wstrzyknięcie złośliwych atrybutów lub elementów HTML. Może to prowadzić do wykonania dowolnego JavaScript w przeglądarce ofiary.
Ocena ryzyka
Atakujący może uzyskać dostęp do informacji w kontekście ofiary, modyfikować wyświetlane treści lub wykonywać działania przy użyciu sesji ofiary.
Rekomendacja
Zaktualizuj Pivotick do wersji zawierającej poprawkę, która stosuje odpowiednie kodowanie HTML dla nazw węzłów.
Inne podatności w Pivotick
Zobacz wszystkie- CVE-2026-67174Krytyczne
Pivotick zawiera podatność na ataki XSS oparte na DOM w funkcjach rozpoznawania elementów UI i renderowania ikon. Funkcja tryResolveHTMLElement traktuje dowolny rozpoznany ciąg jako znacznik HTML, a createIcon wstawia ikony SVG bez sanityzacji. Nieuwierzytelniony atakujący może dostarczyć spreparowany graf, wartość właściwości lub ikonę SVG, co prowadzi do wykonania JavaScript w przeglądarce ofiary.
- CVE-2026-67173Średnie
Pivotick nie sprawdza schematu URI w wartościach imagePath węzłów pochodzących z danych grafu, co pozwala atakującemu na ustawienie złośliwego URI. Podczas renderowania grafu przeglądarka ofiary może wysłać niezamierzone żądanie lub wywołać obsługę specyficzną dla schematu.
- CVE-2026-66922Średnie
Pivotick używa zwykłych obiektów JavaScript jako tablic przeglądowych indeksowanych przez identyfikatory węzłów pochodzące od użytkownika. Identyfikatory pasujące do właściwości dziedziczonych z Object.prototype (np. constructor, __proto__) mogą być błędnie interpretowane, co prowadzi do pomijania węzłów, błędnych hierarchii, omijania wykrywania cykli lub wyjątków powodujących odmowę usługi.
- CVE-2026-66920Wysokie
Pivotick zawiera podatność niekontrolowanej rekurencji podczas przetwarzania danych grafu i węzłów. Algorytmy grafu rekurencyjnie przechodzą krawędzie, a przeglądarka JSON rekurencyjnie przetwarza każdy poziom struktury węzła. Specjalnie spreparowany graf z długą ścieżką, głęboko zagnieżdżonymi właściwościami lub cyklicznymi referencjami może wyczerpać stos JavaScript, powodując awarię strony lub przeglądarki.
- CVE-2026-66919Średnie
Pivotick zawiera podatność na cross-site scripting w modalach inspekcji i edycji węzłów. Etykiety i opisy węzłów pochodzące z danych grafu są interpolowane bezpośrednio do HTML, co pozwala atakującemu na wstrzyknięcie złośliwego JavaScript.
- CVE-2026-66918Wysokie
Pivotick nie oczyszcza atakującego kodu SVG dostarczonego przez właściwość style.svgIcon przed wstawieniem go do dokumentu. Podczas renderowania węzła grafu, kod przypisuje znacznik SVG bezpośrednio do innerHTML, co pozwala na wykonanie złośliwych handlerów zdarzeń, np. <image> z atrybutem onerror. Atakujący może wykonać dowolny JavaScript w kontekście aplikacji.
- CVE-2026-66825Średnie
Pivotick zawiera podatność XSS w komponencie sidebar property-list. Wartości właściwości linkopodobnych (url, uri, href, link, website, homepage) były renderowane jako hiperłącza bez walidacji schematu URL. Atakujący może dostarczyć złośliwą wartość z schematem javascript:, w tym z białymi znakami lub znakami kontrolnymi. Kliknięcie linku może wykonać JavaScript w kontekście aplikacji. Podatność została naprawiona przez normalizację wartości i blokowanie niebezpiecznych schematów.
Oryginalny opis (angielski, źródło NVD)
Pivotick’s Markdown node-reference renderer failed to HTML-escape the attacker-controlled nodeName value before interpolating it into both the data-node-name attribute and the body of a generated <span> element. Because the node-reference tokenizer rejected only square brackets, a crafted node name could still contain quotation marks, angle brackets, or other HTML metacharacters. An attacker could therefore terminate the quoted attribute or inject additional HTML elements and event-handler attributes. When malicious node-reference content is rendered by a consumer that does not apply DOMPurify or equivalent sanitization, arbitrary JavaScript may execute in the victim’s browser in the security context of the application. Successful exploitation requires a victim to open or render a crafted graph or note and could allow the attacker to access same-origin information, modify displayed content, or perform actions using the victim’s session. The patch resolves the issue by applying context-appropriate HTML escaping to node names before inserting them into either HTML text or quoted attribute values. The shared escaping function now encodes ampersands, angle brackets, and both types of quotation marks.

