CVE-2026-42167 w ProFTPD: krytyczna luka SQL Injection w mod_sql z ryzykiem przejęcia serwera - Security Bez Tabu

CVE-2026-42167 w ProFTPD: krytyczna luka SQL Injection w mod_sql z ryzykiem przejęcia serwera

Cybersecurity news

Wprowadzenie do problemu / definicja

CVE-2026-42167 to krytyczna podatność typu SQL Injection wykryta w serwerze ProFTPD, a dokładniej w module mod_sql. Problem pojawia się w scenariuszach, w których usługa zapisuje do bazy danych dane pochodzące bezpośrednio z żądań FTP. W określonych konfiguracjach napastnik może doprowadzić do wstrzyknięcia własnych poleceń SQL, co otwiera drogę do naruszenia integralności danych, obejścia mechanizmów uwierzytelniania, a nawet przejęcia kontroli nad serwerem.

Choć luka nie dotyczy każdego wdrożenia ProFTPD, jej wpływ jest szczególnie poważny tam, gdzie mod_sql obsługuje logowanie zdarzeń, konta użytkowników lub inne funkcje powiązane z bazą danych. To właśnie zależność od konfiguracji sprawia, że część organizacji może nie być świadoma realnego poziomu ekspozycji.

W skrócie

Podatność obejmuje wersje ProFTPD wcześniejsze niż 1.3.9a i wynika z błędnej logiki przetwarzania danych wejściowych w module mod_sql. W praktyce niektóre ciągi znaków mogą zostać uznane za już bezpieczne, mimo że nadal pozwalają na manipulację zapytaniem SQL.

  • dotyczy ProFTPD przed wersją 1.3.9a,
  • występuje w module mod_sql,
  • może prowadzić do SQL Injection w logowaniu lub obsłudze kont,
  • w sprzyjających warunkach umożliwia eskalację uprawnień lub RCE,
  • szczególnie groźna jest konfiguracja z wysoko uprzywilejowanym backendem SQL.

Kontekst / historia

ProFTPD od wielu lat pozostaje jednym z najbardziej rozpoznawalnych serwerów FTP wykorzystywanych w starszych środowiskach infrastrukturalnych, usługach hostingowych oraz systemach wymiany plików. Jednym z jego kluczowych rozszerzeń jest mod_sql, który umożliwia integrację z bazą danych na potrzeby uwierzytelniania, statystyk, limitów, banów i logowania operacji wykonywanych przez użytkowników.

Opisany problem został publicznie ujawniony w 2026 roku. Z dostępnych analiz wynika, że zgłoszenie pojawiło się pod koniec marca 2026 roku, poprawka została potwierdzona w kwietniu, a wydanie ProFTPD 1.3.9a opublikowano 27 kwietnia 2026 roku. Od tego momentu luka zaczęła być szerzej analizowana przez społeczność bezpieczeństwa, również pod kątem scenariuszy prowadzących do zdalnego wykonania kodu.

Analiza techniczna

Źródłem podatności jest sposób budowania zapytań SQL na podstawie szablonów konfiguracyjnych, takich jak SQLNamedQuery i reguły SQLLog. Administrator może zdefiniować, jakie informacje o sesji FTP, poleceniach, nazwach plików czy parametrach transferu mają trafiać do bazy danych. Jeżeli w takim przepływie znajdą się wartości kontrolowane przez użytkownika, powinny zostać poprawnie przetworzone przed dołączeniem do zapytania.

W podatnym mechanizmie zastosowano jednak wadliwą logikę, która uznaje część danych za wcześniej bezpiecznie przygotowane do użycia w SQL. W efekcie właściwy etap sanityzacji może zostać pominięty. To powoduje, że spreparowane dane wejściowe są przekazywane dalej w postaci pozwalającej na zmianę znaczenia końcowego zapytania.

Istotne jest, że wektor ataku nie ogranicza się wyłącznie do nazwy użytkownika. Ryzyko może dotyczyć także innych pól zapisywanych do bazy, takich jak nazwa pliku, pełna komenda FTP, ścieżka lub parametry operacji. Publiczne analizy wskazują m.in. scenariusz wykorzystujący operację STOR oraz nazwę pliku, która następnie trafia do logowania przez mod_sql.

Najpoważniejszy wariant dotyczy środowisk, w których ProFTPD współpracuje z PostgreSQL lub innym backendem SQL skonfigurowanym z nadmiernymi uprawnieniami. W takiej sytuacji skutki mogą wyjść poza samą bazę danych i doprowadzić do uruchomienia poleceń systemowych. W mniej skrajnym, ale nadal bardzo niebezpiecznym scenariuszu, atakujący może dodać własne konto do tabel użytkowników, zmienić uprawnienia istniejącego konta lub rozszerzyć dostęp do systemu plików.

Konsekwencje / ryzyko

Ryzyko związane z CVE-2026-42167 należy ocenić jako wysokie. Luka dotyka warstwy łączącej usługę sieciową z bazą danych, a więc obszaru o szczególnym znaczeniu dla integralności, uwierzytelniania i kontroli dostępu. Co więcej, jej skutki zależą od konfiguracji, przez co podatne wdrożenia mogą przez długi czas pozostawać niezidentyfikowane.

  • obejście uwierzytelniania przez modyfikację rekordów użytkowników,
  • eskalacja uprawnień legalnych kont FTP,
  • rozszerzenie dostępu do katalogów i zasobów,
  • trwałe osadzenie złośliwych wpisów w bazie danych,
  • zdalne wykonanie kodu w środowiskach z niebezpiecznie uprzywilejowanym backendem SQL.

Szczególnie narażone są starsze platformy hostingowe, środowiska współdzielone oraz instalacje bazujące na historycznych przykładach konfiguracji. Tam, gdzie mod_sql odpowiada jednocześnie za logowanie i obsługę kont, wpływ incydentu może objąć zarówno dane aplikacyjne, jak i sam system operacyjny.

Rekomendacje

Najważniejszym działaniem jest jak najszybsza aktualizacja ProFTPD do wersji 1.3.9a lub nowszej zawierającej poprawkę. Ograniczanie ekspozycji usługi bez usunięcia podatnego kodu nie powinno być traktowane jako pełne zabezpieczenie.

  • przeprowadzić audyt konfiguracji mod_sql, SQLNamedQuery i SQLLog,
  • zidentyfikować wszystkie miejsca, gdzie do SQL trafiają dane kontrolowane przez użytkownika,
  • wyłączyć logowanie przez mod_sql, jeśli nie jest ono niezbędne,
  • ograniczyć uprawnienia konta bazy danych zgodnie z zasadą najmniejszych uprawnień,
  • unikać konfiguracji umożliwiających wykonywanie poleceń systemowych z poziomu backendu SQL,
  • przeanalizować logi i tabele użytkowników pod kątem anomalii,
  • monitorować nietypowe operacje związane z STOR, USER i innymi logowanymi polami,
  • rozważyć izolację lub tymczasowe wyłączenie instancji przy podejrzeniu aktywnego wykorzystania luki.

W środowiskach o podwyższonym profilu ryzyka warto dodatkowo przeprowadzić analizę integralności hosta i bazy danych. Jeżeli doszło do skutecznego wykorzystania podatności w wariancie prowadzącym do RCE, kompromitacja mogła objąć znacznie więcej niż samą usługę FTP.

Podsumowanie

CVE-2026-42167 pokazuje, że nawet pozornie pomocnicze mechanizmy, takie jak logowanie do bazy danych, mogą stać się punktem wejścia do poważnego ataku. Problem w ProFTPD nie wynika wyłącznie z prostego braku filtrowania, lecz z błędnej logiki uznającej część danych za bezpieczne i pomijającej właściwe zabezpieczenia.

Dla organizacji korzystających z ProFTPD i mod_sql oznacza to konieczność pilnej weryfikacji konfiguracji, aktualizacji oprogramowania oraz przeglądu uprawnień po stronie bazy danych. W praktyce podatność może prowadzić od manipulacji logami aż po pełne przejęcie serwera, dlatego powinna być traktowana priorytetowo.

Źródła