W skrócie. Zaobserwowaliśmy publikację trzech nowych identyfikatorów CVE (Common Vulnerabilities and Exposures, identyfikator publicznie znanej luki) dotyczących oprogramowania DHTMLX. Najpoważniejsza z nich, CVE-2026-41553 1, może pozwolić na przejęcie kontroli nad serwerem. Pozostałe dwie, CVE-2026-7182 2 i CVE-2026-41552 3, mogą prowadzić do wycieku danych. Rekomendowana jest natychmiastowa weryfikacja i aktualizacja.

TL;DR

  • Rodzina: zdalne wykonanie kodu (RCE) oraz dwukrotnie odczyt dowolnych plików przez Path Traversal.
  • Produkt: komponenty DHTMLX — Diagram, Gantt, Scheduler oraz PDF Export Module 4.
  • CVE: CVE-2026-41553 (RCE) 1, CVE-2026-7182 2 i CVE-2026-41552 3 (Path Traversal), publikacja CERT Polska 15 maja 2026 roku 5 6.
  • Wektor: wstrzyknięcie kodu do parametru data modułu eksportu (RCE) 4 oraz odwołania do plików lokalnych w eksporcie do PDF (Path Traversal) 7.
  • Wersje podatne: Diagram 1.0.0–1.1.1 8, PDF Export Module 0.3.3–0.7.6 9.
  • Zalecenie: natychmiastowa aktualizacja podatnych komponentów do bezpiecznych wersji.

Wektor ataku

Analiza wskazuje na trzy odrębne, choć powiązane wektory. Dwa z nich to klasyczny Path Traversal, trzeci to krytyczne zdalne wykonanie kodu. Wszystkie podatności zostały zgłoszone do CERT Polska 10, który koordynował proces ujawnienia z producentem 11.

CVE-2026-41553: Zdalne wykonanie kodu w PDF Export Module

To najpoważniejsza z ujawnionych luk. Dotyczy ona komponentu PDF Export Module 12 w wersjach od 0.3.3 do 0.7.6 9, który jest wykorzystywany m.in. w popularnych produktach DHTMLX Gantt i Scheduler 4.

Podatność sklasyfikowano jako CWE-78 (Improper Neutralization of Special Elements used in an OS Command, czyli ‘OS Command Injection’) 13. W praktyce oznacza to, że aplikacja niepoprawnie filtruje dane wejściowe przekazywane do poleceń wykonywanych w systemie operacyjnym serwera.

Atakujący, nawet nieuwierzytelniony, może przygotować specjalnie spreparowane żądanie, w którym do parametru data wstrzykuje złośliwy kod JavaScript 4. Serwer, ufając tym danym, przekazuje je do interpretera Node.js, który wykonuje kod 14. Może to prowadzić bezpośrednio do RCE (Remote Code Execution — zdalne wykonanie kodu na komputerze ofiary), co w konsekwencji może oznaczać pełne przejęcie kontroli nad serwerem, na którym działa aplikacja.

CVE-2026-7182 i CVE-2026-41552: Odczyt plików przez Path Traversal

Te dwie podatności należą do tej samej rodziny błędów: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory, czyli ‘Path Traversal’) 15 16. Mogą one pozwolić atakującemu na odczyt plików spoza katalogu, w którym powinna operować aplikacja.

  1. CVE-2026-7182 dotyczy komponentu Diagram 17 w wersjach od 1.0.0 do 1.1.1 8. Błąd leży w module eksportu, który nie sanityzuje atrybutu src w kodzie HTML 18. Nieuwierzytelniony atakujący może stworzyć spreparowany diagram, w którym odwołuje się do plików lokalnych na serwerze (np. file:///etc/passwd). Podczas generowania pliku PDF, zawartość tych plików może zostać dołączona do wynikowego dokumentu i udostępniona atakującemu 7.

  2. CVE-2026-41552 jest niemal identyczna, ale dotyczy PDF Export Module 19 (wersje 0.3.3 do 0.7.6 20), używanego przez komponenty Gantt i Scheduler 21. Tu również brak odpowiedniej sanityzacji HTML może pozwolić na odczyt plików z serwera i umieszczenie ich w generowanym pliku PDF 22.

Obie luki stanowią poważne zagrożenie dla poufności danych. Mogą posłużyć do kradzieży kodu źródłowego aplikacji, plików konfiguracyjnych z hasłami do baz danych czy kluczy API. To często pierwszy krok do dalszej eskalacji ataku.

Wskaźniki kompromitacji

Publiczne źródła nie dostarczają gotowych wskaźników kompromitacji (IoC — Indicators of Compromise), takich jak adresy IP czy hashe plików. Wykrywanie musi opierać się na analizie logów serwera aplikacyjnego.

Należy szukać nietypowych żądań do endpointów odpowiedzialnych za eksport do PDF. W szczególności:

  • Dla RCE (CVE-2026-41553): W logach żądań HTTP szukaj nietypowych, złożonych lub obfuskowanych ładunków w parametrze data wysyłanych do modułu eksportu. Obecność fragmentów kodu JavaScript, takich jak require('child_process'), jest jednoznacznym sygnałem próby ataku.
  • Dla Path Traversal (CVE-2026-7182, CVE-2026-41552): W logach szukaj żądań eksportu zawierających w ładunku HTML sekwencje ../ lub odwołania do ścieżek bezwzględnych w atrybutach src, np. src="file:///...".

Co zrobić w 24-48h

Zagrożenie jest realne, zwłaszcza w przypadku publicznie dostępnych aplikacji wykorzystujących podatne komponenty. Rekomendujemy następujące kroki:

  1. Identyfikacja zasobów: Przeprowadź audyt swoich aplikacji webowych. Sprawdź, czy korzystasz z bibliotek DHTMLX, w szczególności Diagram, Gantt lub Scheduler 17 21. To popularne narzędzia w polskich software house’ach i działach IT tworzących wewnętrzne systemy do zarządzania projektami, rezerwacji zasobów czy wizualizacji danych.

  2. Weryfikacja wersji: Jeśli używasz tych komponentów, sprawdź ich wersje. Podatne są:

    • Diagram: wersje od 1.0.0 do 1.1.1 8.
    • PDF Export Module (używany przez Gantt i Scheduler): wersje od 0.3.3 do 0.7.6 20 9.
  3. Natychmiastowa aktualizacja: Producent, firma DHTMLX, opublikował wersje oprogramowania wolne od opisanych luk. Należy bezwzględnie zaktualizować komponenty do najnowszych, bezpiecznych wersji. Jest to jedyna skuteczna metoda mitygacji.

  4. Analiza logów: Przejrzyj logi serwerów aplikacyjnych i webowych w poszukiwaniu śladów wykorzystania podatności, zgodnie z wskazówkami z poprzedniej sekcji. Szczególną uwagę zwróć na okres od daty publikacji alertu 5.

  5. Wzmocnienie konfiguracji (jeśli aktualizacja jest niemożliwa): W sytuacji, gdy natychmiastowa aktualizacja nie jest możliwa, należy rozważyć tymczasowe wyłączenie funkcjonalności eksportu do PDF lub wdrożenie reguł na poziomie WAF (Web Application Firewall) blokujących żądania z podejrzanymi payloadami. To jednak tylko rozwiązanie tymczasowe i nie zastępuje aktualizacji.

Polskie firmy, zwłaszcza te podlegające pod dyrektywę NIS2, powinny potraktować ten alert jako test swoich procedur zarządzania podatnościami. Sprawna identyfikacja, ocena ryzyka i wdrożenie poprawki to kluczowe elementy dojrzałości w obszarze cyberbezpieczeństwa.

Atrybucja zgłoszenia

Podatności zostały zgłoszone do CERT Polska. Zespół ten koordynował proces odpowiedzialnego ujawnienia (coordinated disclosure) we współpracy z producentem oprogramowania, firmą DHTMLX 11.

Źródła

Zobacz też

Przypisy

  1. W oprogramowaniu DHTMLX wykryto podatność CVE-2026-41553. — cert.pl › CVE 2026 7182 2

  2. W oprogramowaniu DHTMLX wykryto podatność CVE-2026-7182. — cert.pl › CVE 2026 7182 2

  3. W oprogramowaniu DHTMLX wykryto podatność CVE-2026-41552. — cert.pl › CVE 2026 7182 2

  4. Podatność CVE-2026-41553 dotyczy PDF Export Module, wykorzystywanego w produktach DHTMLX Gantt i Scheduler, i umożliwia zdalne wykonanie kodu z powodu braku sanityzacji parametru data. — cert.pl › CVE 2026 7182 2 3 4

  5. Data publikacji informacji o podatności CVE-2026-7182 to 15 maja 2026. — cert.pl › CVE 2026 7182 2

  6. Producentem podatnego oprogramowania jest DHTMLX. — cert.pl › CVE 2026 7182

  7. Nieuwierzytelniony atakujący może stworzyć payload HTML ze wskazaniem plików lokalnych znajdujących się na serwerze i wyświetlić je w wygenerowanym pliku PDF, wykorzystując CVE-2026-7182. — cert.pl › CVE 2026 7182 2

  8. Podatne wersje oprogramowania Diagram to od 1.0.0 do 1.1.1. — cert.pl › CVE 2026 7182 2 3

  9. Podatne wersje oprogramowania PDF Export Module dla CVE-2026-41553 to od 0.3.3 do 0.7.6. — cert.pl › CVE 2026 7182 2 3

  10. Źródłem zgłoszenia podatności CVE-2026-7182 było zgłoszenie do CERT Polska. — cert.pl › CVE 2026 7182

  11. CERT Polska otrzymał zgłoszenie o podatnościach w oprogramowaniu DHTMLX i koordynował proces ujawniania informacji. — cert.pl › CVE 2026 7182 2

  12. Nazwa podatnego oprogramowania dla CVE-2026-41553 to PDF Export Module. — cert.pl › CVE 2026 7182

  13. Typ podatności CVE-2026-41553 to Improper Neutralization of Special Elements used in an OS Command (‘OS Command Injection’) (CWE-78). — cert.pl › CVE 2026 7182

  14. Nieuwierzytelniony atakujący może wstrzyknąć złośliwy kod JavaScript do parametru, którego wartość jest przetwarzana przez Node.js, a następnie wykonywana, co może doprowadzić do przejęcia kontroli nad serwerem, wykorzystując CVE-2026-41553. — cert.pl › CVE 2026 7182

  15. Typ podatności CVE-2026-7182 to Improper Limitation of a Pathname to a Restricted Directory (‘Path Traversal’) (CWE-22). — cert.pl › CVE 2026 7182

  16. Typ podatności CVE-2026-41552 to Improper Limitation of a Pathname to a Restricted Directory (‘Path Traversal’) (CWE-22). — cert.pl › CVE 2026 7182

  17. Nazwa podatnego oprogramowania dla CVE-2026-7182 to Diagram. — cert.pl › CVE 2026 7182 2

  18. Podatność CVE-2026-7182 dotyczy modułu eksportu w oprogramowaniu Diagram i jest podatna na ataki typu Path Traversal w atrybucie src z powodu braku sanityzacji HTML. — cert.pl › CVE 2026 7182

  19. Nazwa podatnego oprogramowania dla CVE-2026-41552 to PDF Export Module. — cert.pl › CVE 2026 7182

  20. Podatne wersje oprogramowania PDF Export Module dla CVE-2026-41552 to od 0.3.3 do 0.7.6. — cert.pl › CVE 2026 7182 2

  21. Podatność CVE-2026-41552 dotyczy PDF Export Module, wykorzystywanego w produktach DHTMLX Gantt i Scheduler, i jest podatna na ataki typu Path Traversal z powodu braku sanityzacji HTML. — cert.pl › CVE 2026 7182 2

  22. Nieuwierzytelniony atakujący może stworzyć payload HTML ze wskazaniem plików lokalnych znajdujących się na serwerze i wyświetlić je w wygenerowanym pliku PDF, wykorzystując CVE-2026-41552. — cert.pl › CVE 2026 7182