CVE-2026-69078
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 22 - wyżej niż 22% wszystkich znanych CVE
Streszczenie
CTI-Transmute jest podatny na atak SSRF w funkcji generowania raportów PDF. Użytkownik może wstrzyknąć złośliwe odwołania do zasobów (http, https, file), które serwer aplikacji pobiera podczas renderowania PDF.
Ocena ryzyka
Atakujący może uzyskać dostęp do wewnętrznych usług sieciowych, przeszukiwać hosty, odczytywać lokalne pliki i ujawniać ich zawartość w wygenerowanym PDF.
Rekomendacja
Należy natychmiast zastosować poprawkę, która ogranicza pobieranie zasobów wyłącznie do data: URI i usuwa zewnętrzny arkusz stylów Google Fonts.
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-72751Średnie
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.
Oryginalny opis (angielski, źródło NVD)
CTI-Transmute is affected by a server-side request forgery vulnerability in the evaluation report PDF-generation functionality. User-controlled CTI content, including conversion names, descriptions, and comments, is converted from Markdown to HTML and rendered as a PDF using WeasyPrint. Before the patch, the renderer used WeasyPrint’s default URL-fetching behavior without restricting the protocols or destinations that could be referenced by the generated HTML. An attacker able to supply content included in an evaluation report could inject crafted resource references using schemes such as http://, https://, or file://. When the report was rendered, CTI-Transmute could fetch these resources using the application server’s network connectivity and filesystem privileges. Successful exploitation could allow an attacker to: * access services available only from the CTI-Transmute server or its internal network; * probe internal hosts and service endpoints; * retrieve local files readable by the application process; and * expose fetched content through the generated PDF, depending on the referenced resource type and rendering context. The vulnerability is corrected by providing WeasyPrint with a restrictive URL fetcher that permits only self-contained data: URIs. The externally hosted Google Fonts stylesheet was also removed so that PDF generation performs no intentional network or filesystem fetches.

