CVE-2026-72751
ŚrednieCVSS 5.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 19 - wyżej niż 19% wszystkich znanych CVE
Streszczenie
CTI-Transmute zawiera podatność na trwały atak XSS w grafie konwersji, który wizualizuje przekonwertowane dane MISP i STIX. Wartości kontrolowane przez atakującego, pochodzące z danych CTI, były przekazywane do parserów HTML w interfejsie grafu bez odpowiedniej neutralizacji, co pozwalało na wykonanie złośliwego kodu. Podatność obejmuje etykiety węzłów, krawędzi, właściwości oraz funkcję otwierania surowego JSON.
Ocena ryzyka
Atakujący może wstrzyknąć złośliwy skrypt, który wykona się w przeglądarce administratora lub analityka korzystającego z narzędzia. Może to prowadzić do kradzieży sesji, przejęcia konta lub wycieku wrażliwych danych przetwarzanych w CTI-Transmute.
Rekomendacja
Należy natychmiast zaktualizować CTI-Transmute do wersji zawierającej pełną poprawkę eliminującą wszystkie wektory XSS. Dodatkowo warto ograniczyć dostęp do narzędzia tylko dla zaufanych użytkowników i zweryfikować dane wejściowe przed ich konwersją.
Inne podatności w CTI-Transmute
Zobacz wszystkie- CVE-2026-73162Średnie
Podatne wersje MISP cti-transmute udostępniają kilka operacji zmieniających stan konta jako żądania GET, np. /account/follow, /account/delete_notification, /account/mark_notification_read i /account/mark_all_read. Te punkty końcowe wymagają uwierzytelnienia, ale przed poprawką mogły być wywoływane prostymi żądaniami GET, co czyni je podatnymi na cross-site request forgery (CSRF). Poprawka zmienia te akcje na POST lub DELETE i dodaje nagłówek X-CSRFToken w frontendzie.
- CVE-2026-73161Średnie
Podatne wersje cti-transmute nieprawidłowo obsługują wartości tabel konwersji przekazywane przez funkcję podświetlania wyszukiwania. Funkcja highlight() zwracała tekst bezpośrednio, gdy nie podano zapytania, lub wykonywała zamianę regex, wstawiając znaczniki <mark> bez uprzedniego escapowania oryginalnej treści. Ponieważ wynik jest używany w kontekście renderowania HTML, złośliwy markup w danych konwersji mógł być interpretowany jako HTML zamiast wyświetlany jako tekst. Poprawka wprowadza funkcję highlightMatches(), która najpierw konwertuje znaki specjalne na encje HTML.
- CVE-2026-73160Wysokie
Podatne wersje cti-transmute zawierają podatność SSRF w punktach końcowych /fetch_misp_event i /misp_search_events. Procedura walidacji URL sprawdzała, czy podana nazwa hosta jest adresem IP i odrzucała prywatne, pętlowe, link-local lub zarezerwowane adresy IP. Jednak zwykłe nazwy domen były akceptowane bez wcześniejszego ich rozwiązywania. Atakujący mógł więc użyć nazwy hosta, której rekord DNS wskazywał na wewnętrzny adres, i spowodować, że serwer cti-transmute wysyłał żądania do swojej sieci wewnętrznej. Poprawka rozwiązuje nazwy hostów za pomocą socket.getaddrinfo(), sprawdza, czy każdy rozwiązany adres jest globalnie routowalny, oraz dodaje @login_required do obu dotkniętych tras.
- CVE-2026-73159Średnie
Podatne wersje cti-transmute pozwalają na przechowywanie wartości ikony tagu i późniejszą interpolację do HTML przez v-html. Funkcja mapIcon() konstruowała string HTML bezpośrednio z wartości ikony, np. <i class="fas fa-${name}"></i>. Ponieważ ikona jest dostarczana przez użytkownika, spreparowana wartość mogła wyrwać się z zamierzonego markupu i wstrzyknąć HTML kontrolowany przez atakującego. Gdy tag był renderowany, w tym na administracyjnym interfejsie triage, payload mógł wykonać się w przeglądarce widza. Poprawka zastępuje v-html bindingiem :class, ogranicza mapIcon() do klasy FontAwesome i waliduje ikony po stronie backendu.
- CVE-2026-73158Średnie
Podatne wersje cti-transmute niewystarczająco walidują zapisane dane konfiguracji grafów. Konfiguracje grafów mogą zawierać właściwości stylu, które są później używane przez Pivotick, a Pivotick interpretuje svgIcon jako HTML. Ponieważ zapisane konfiguracje mogą być tworzone przez jednego użytkownika i wyświetlane innym, w tym administratorom, złośliwy użytkownik mógł zapisać spreparowaną wartość svgIcon, która wykonuje skrypt w przeglądarce innego widza. Poprawka wprowadza ścisły schemat konfiguracji po stronie serwera i klienta, odrzucając niebezpieczne właściwości.
- CVE-2026-73157Niskie
Podatność w cti-transmute polega na renderowaniu danych pochodzących z zdalnej instancji MISP w interfejsie event-browser za pomocą interpolacji HTML. Złośliwy lub skompromitowany serwer MISP może zwrócić spreparowane wartości, które wstrzykują HTML lub skrypty do interfejsu.
- CVE-2026-73156Średnie
Podatne wersje cti-transmute nie escapują wartości kontrolowanych przez atakującego używanych w formaterach tooltipów ECharts Sunburst i Treemap. Nazwy wycinków mogą pochodzić bezpośrednio z danych STIX lub MISP, w tym typów STIX, relationship_type, prefiksów wzorców oraz wartości kategorii/typu MISP. Ponieważ ECharts interpretuje wartość zwracaną przez formater jako HTML, spreparowane wartości mogą wstrzyknąć markup lub treści zdolne do wykonania skryptów w tooltipie. Poprawka zastępuje bezpośrednią interpolację dedykowanymi funkcjami formaterów, które wywołują escapeHtml() na p.name, p.data.value i p.value.
- CVE-2026-73155Średnie
Podatne wersje cti-transmute pozwalają uwierzytelnionym użytkownikom dodawać lub usuwać reakcje emoji na komentarzach bez uprzedniego sprawdzenia, czy ci użytkownicy mają uprawnienia do wyświetlania danego komentarza. Podatny handler react() przekazywał kontrolowany przez atakującego comment_id bezpośrednio do comments_repo.toggle_reaction() po tylko walidacji syntaktycznej ID i dozwolonego emoji. Ponieważ widoczność komentarza nie była egzekwowana, użytkownik, który znał ID prywatnego lub niedostępnego komentarza, mógł zmienić stan reakcji na tym komentarzu. Poprawka pobiera docelowy komentarz, odrzuca brakujące lub usunięte komentarze, pobiera powiązaną konwersję i egzekwuje access.can_see_comment(). Nieautoryzowane żądania otrzymują HTTP 403.
- CVE-2026-73140Średnie
Podatność w cti-transmute powoduje, że eksport raportów ewaluacyjnych nie stosuje reguł kontroli dostępu na poziomie komentarzy. Użytkownik z uprawnieniami do przeglądania konwersji może wyeksportować raport zawierający prywatne komentarze ewaluacyjne, które powinny być widoczne tylko dla właściciela, autora lub administratora. Poprawka przekazuje żądającego użytkownika do generatora raportów i filtruje komentarze przez funkcję autoryzacji.
- CVE-2026-71502Średnie
CTI-Transmute zawiera podatność na trwały atak XSS, spowodowaną niewystarczającą neutralizacją ograniczników wyrażeń szablonu Vue w danych renderowanych po stronie serwera. Nieuwierzytelniony atakujący może utworzyć publiczną konwersję z nazwą lub opisem zawierającym złośliwe wyrażenie Vue, które jest wykonywane w przeglądarce ofiary. Podatność umożliwia wykonanie dowolnego kodu JavaScript w kontekście aplikacji.
Oryginalny opis (angielski, źródło NVD)
CTI-Transmute is affected by a stored cross-site scripting (XSS) vulnerability in the conversion graph used to visualise converted MISP and STIX content. Attacker-controlled values originating from converted CTI data were passed to multiple HTML-parsing sinks in the graph user interface without sufficient neutralisation. In particular, node labels, node sublabels, edge labels, node properties, edge properties, and node types could contain crafted HTML or JavaScript content. The Pivotick graph library renders some of these values through HTML-parsing operations. Consequently, a malicious value such as an HTML element containing an event handler could be interpreted as markup rather than displayed as plain text. The first remediation explicitly notes that Pivotick rendered node and edge labels as HTML and therefore introduced escaping before data was handed to the graph renderer. A separate vulnerable sink was present in the Open raw JSON functionality. The raw object associated with a graph node was inserted into a new document using document.write() and an interpolated HTML string. Crafted JSON content could therefore break out of the intended <pre> element and inject executable markup. The fix replaced this construction with DOM APIs and assigns the JSON using textContent. The initial correction did not cover all Pivotick rendering paths. A subsequent patch addressed additional XSS vectors in the graph properties panel. Values derived from the original CTI object—including property names, property values, hash algorithm names, child attributes, edge properties, and STIX object types—could still reach Pivotick's HTML resolver. According to the patch, Pivotick's tryResolveHTMLElement processes string values using template.innerHTML, allowing malicious markup to execute when a graph node is hovered over or selected. The complete remediation therefore: * HTML-escapes node labels, node sublabels, and edge labels before they are passed to Pivotick. * Restricts graph node type values to a safe identifier character set. * Wraps node and edge property values in DOM elements populated through textContent, preventing Pivotick from treating attacker-controlled strings as HTML. * Replaces the raw-JSON popup's interpolated document.write() with DOM construction and textContent.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

