TL;DR: 15 maja 2026 roku1 CERT Polska opublikował informacje o trzech podatnościach w komponentach firmy DHTMLX2. Dwie z nich pozwalają na odczyt dowolnych plików z serwera, a jedna, najpoważniejsza, na zdalne wykonanie kodu (RCE). Jeśli twój projekt używa bibliotek DHTMLX Diagram, Gantt lub Scheduler, jesteś potencjalnie zagrożony.

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-415533, może pozwolić na przejęcie kontroli nad serwerem. Pozostałe dwie, CVE-2026-71824 i CVE-2026-415525, mogą prowadzić do wycieku danych. Rekomendujemy natychmiastową weryfikację i aktualizację.

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 Polska6, który koordynował proces ujawnienia z producentem7.

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

To najpoważniejsza z ujawnionych luk. Dotyczy ona komponentu PDF Export Module8 w wersjach od 0.3.3 do 0.7.69, który jest wykorzystywany m.in. w popularnych produktach DHTMLX Gantt i Scheduler10.

Podatność sklasyfikowano jako CWE-78 (Improper Neutralization of Special Elements used in an OS Command, czyli „OS Command Injection”)11. 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 ładunek12. Serwer, ufając tym danym, przekazuje je do interpretera poleceń systemowych, który wykonuje kod. 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”)13. Mogą one pozwolić atakującemu na odczyt plików spoza katalogu, w którym powinna operować aplikacja.

  1. CVE-2026-7182 dotyczy komponentu Diagram14 w wersjach od 1.0.0 do 1.1.115. Błąd leży w module eksportu, który nie sanityzuje atrybutu src w kodzie HTML16. 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.

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

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 Scheduler14. 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.115.
    • PDF Export Module (używany przez Gantt i Scheduler): wersje od 0.3.3 do 0.7.69.
  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 alertu1.

  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ą DHTMLX7.

Źródła

Zobacz też

Footnotes

  1. Data publikacji informacji o podatnościach — 15 maja 2026 — https://cert.pl/posts/2026/05/CVE-2026-7182/ 2

  2. CERT Polska opisał trzy podatności w komponentach firmy DHTMLX — https://cert.pl/posts/2026/05/CVE-2026-7182/

  3. CVE-2026-41553 — OS Command Injection / RCE w PDF Export Module — https://cert.pl/posts/2026/05/CVE-2026-7182/

  4. CVE-2026-7182 — Path Traversal w komponencie Diagram — https://cert.pl/posts/2026/05/CVE-2026-7182/

  5. CVE-2026-41552 — Path Traversal w PDF Export Module — https://cert.pl/posts/2026/05/CVE-2026-7182/

  6. Podatności zgłoszone do CERT Polska (zgłaszający: Łukasz Jaworski i Tomasz Holeksa, Pentest Limited) — https://cert.pl/posts/2026/05/CVE-2026-7182/

  7. CERT Polska koordynował proces ujawnienia z producentem — https://cert.pl/posts/2026/05/CVE-2026-7182/ 2

  8. CVE-2026-41553 dotyczy komponentu PDF Export Module — https://cert.pl/posts/2026/05/CVE-2026-7182/

  9. PDF Export Module — podatne wersje od 0.3.3 do 0.7.6 — https://cert.pl/posts/2026/05/CVE-2026-7182/ 2

  10. PDF Export Module wykorzystywany w produktach DHTMLX Gantt i Scheduler — https://cert.pl/posts/2026/05/CVE-2026-7182/

  11. Podatność sklasyfikowana jako CWE-78 (OS Command Injection) — https://cert.pl/posts/2026/05/CVE-2026-7182/

  12. RCE umożliwia brak sanityzacji parametru datahttps://cert.pl/posts/2026/05/CVE-2026-7182/

  13. CVE-2026-7182 i CVE-2026-41552 sklasyfikowane jako CWE-22 (Path Traversal) — https://cert.pl/posts/2026/05/CVE-2026-7182/

  14. CVE-2026-7182 dotyczy komponentu Diagram — https://cert.pl/posts/2026/05/CVE-2026-7182/ 2

  15. Diagram — podatne wersje od 1.0.0 do 1.1.1 — https://cert.pl/posts/2026/05/CVE-2026-7182/ 2

  16. Path Traversal w atrybucie src z powodu braku sanityzacji HTML w module eksportu — https://cert.pl/posts/2026/05/CVE-2026-7182/

  17. CVE-2026-41552 dotyczy PDF Export Module — https://cert.pl/posts/2026/05/CVE-2026-7182/