CVE-2026-53994
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
Podatność przepełnienia bufora sterty w ProFTPD mod_sftp. Uwierzytelniony użytkownik SFTP może wysłać pakiet SFTP z długością 0, co powoduje niedomiar i przepełnienie bufora, prowadząc do awarii sesji lub potencjalnie dalszych konsekwencji.
Ocena ryzyka
Ryzyko zdalnej odmowy usługi (DoS) dla serwera FTP oraz potencjalne naruszenie bezpieczeństwa sterty.
Rekomendacja
Zaktualizuj ProFTPD do wersji zawierającej poprawkę dla mod_sftp.
Inne podatności w ProFTPD
Zobacz wszystkie- CVE-2015-3306Wysokie
Moduł mod_copy w ProFTPD 1.3.5 pozwala zdalnym atakującym na odczyt i zapis do dowolnych plików za pomocą poleceń site cpfr i site cpto.
- CVE-2026-42167Wysokie
Podatność w module mod_sql w ProFTPD przed wersją 1.3.9a umożliwia zdalnemu atakującemu wykonanie dowolnego kodu poprzez nazwę użytkownika, gdy rejestrowane są żądania USER z rozwinięciem takim jak %U, a backend SQL pozwala na wykonywanie poleceń (np. COPY TO PROGRAM).
- CVE-2010-20103Krytyczne
W oficjalnym pakiecie źródłowym ProFTPD 1.3.3c, dystrybuowanym między 28 listopada a 2 grudnia 2010 roku, umieszczono złośliwe backdoory. Backdoor implementuje ukryte polecenie FTP, które po wywołaniu pozwala na zdalne wykonanie dowolnych poleceń systemowych z uprawnieniami roota.
- CVE-2026-63091Średnie
ProFTPD przed wersjami 1.3.9c i 1.3.10rc3 zawiera podatność przepełnienia liczby całkowitej ze znakiem w parserze rozmiaru rekordu SCP modułu mod_sftp. Umożliwia to uwierzytelnionym atakującym z niskimi uprawnieniami ominięcie ASLR poprzez wysłanie spreparowanej wartości rozmiaru pliku UINT64_MAX, co skutkuje ujemną wartością off_t. Atakujący mogą wykorzystać konwersję do uint32_t, powodując żądanie odczytu około 4 GB i zmuszając serwer do odczytu poza danymi kanału SSH, zapisując nadmiarową pamięć procesu do przesłanego pliku. Ujawnione dane zawierają wskaźniki libc, libcrypto i PIE, umożliwiające ominięcie ASLR.
- CVE-2026-63090Wysokie
ProFTPD przed wersjami 1.3.9c i 1.3.10rc3 zawiera podatność na przepełnienie bufora sterty w module mod_sftp, która pozwala uwierzytelnionym atakującym o niskich uprawnieniach na osiągnięcie dowolnego wykonania kodu poprzez wysłanie spreparowanych fragmentów pakietów SFTP przekraczających 16 KB bufora reassembly w komponencie fxp.c. Atakujący mogą dostarczyć zbyt duże fragmenty, aby wywołać nieprawidłowo uwarunkowaną realokację, uszkodzić metadane listy wolnych pul, nadpisać globalny wskaźnik BSS root_fs, aby wskazywał na fałszywą strukturę systemu plików, i przekierować pr_fsio_stat() do system() za pomocą spreparowanego żądania RENAME.
- CVE-2026-35025Wysokie
Podatność w serwerze FTP ProFTPD (do wersji 1.3.9b i 1.3.10rc2) umożliwia uwierzytelnionym użytkownikom ominięcie ograniczeń ACL katalogów poprzez dodanie prefiksu /proc/self/root do ścieżki w komendzie RNFR. Atakujący może wykorzystać nierozwiązane dowiązania symboliczne w funkcji dir_canonical_path(), aby dir_check() wykonał porównanie leksykalne ścieżki, które nie pasuje do żadnego skonfigurowanego bloku Directory, co pozwala na zmianę nazwy plików w katalogach chronionych przez DenyAll i późniejsze ich pobranie.
- CVE-2026-44331Wysokie
W ProFTPD do wersji 1.3.9a przed commit 7666224 występuje podatność na iniekcję SQL w funkcji sqltab_fetch_clients_cb() w pliku contrib/mod_wrap2_sql.c. Gdy włączona jest opcja UseReverseDNS on, atakujący może dostarczyć spreparowaną nazwę domeny, która bez oczyszczenia trafia do zapytań SQL, umożliwiając zdalne wstrzyknięcie dowolnych poleceń SQL.
Oryginalny opis (angielski, źródło NVD)
ProFTPD mod_sftp contains a heap-based buffer overflow reachable by an authenticated SFTP user. The fxp_packet_read() function accepts the attacker-supplied 32-bit big-endian SFTP packet length without a minimum sanity check. A value of 0 causes an unsigned subtraction elsewhere in the read path to underflow to approximately 4 GB. That oversized request reaches the core memory allocator, where the rounded size is computed in size_t but passed to new_block() as a 32-bit int; the low 32 bits of 0x100000000 are 0, so new_block() returns a small (~512-byte) block while the caller is told it received ~4 GB. The subsequent fill loop then streams attacker-controlled bytes past the end of the 544-byte allocation, producing an attacker-controlled heap buffer overflow. An authenticated user can crash the per-connection ProFTPD session child on demand with a single malformed SFTP packet (packet_len=0 followed by a body greater than approximately 544 bytes), producing reliable authenticated remote denial of service. Depending on heap layout and adjacent allocations, heap metadata corruption and further consequences beyond denial of service may be possible, though only denial of service is demonstrated by the supplied proof of concept.

