CVE-2026-22781
KrytyczneStreszczenie
TinyWeb HTTP Server przed wersją 1.98 jest podatny na wstrzykiwanie poleceń systemu operacyjnego przez parametry zapytania CGI w stylu ISINDEX. Parametry są przekazywane jako argumenty wiersza poleceń do pliku wykonywalnego CGI przez Windows CreateProcess(). Nieuwierzytelniony zdalny atakujący może wykonać dowolne polecenia na serwerze, wstrzykując metaznaki powłoki Windows do żądań HTTP. Luka została naprawiona w wersji 1.98.
Ocena ryzyka
Atakujący bez uwierzytelnienia może przejąć kontrolę nad serwerem, wykonując dowolne polecenia, co może prowadzić do pełnej kompromitacji systemu i danych.
Rekomendacja
Zaleca się natychmiastową aktualizację TinyWeb do wersji 1.98 lub nowszej, która zawiera poprawkę.
Inne podatności w TinyWeb
Zobacz wszystkie- CVE-2026-67185Wysokie
TinyWeb do wersji 0.0.8 zawiera podatność na path traversal, która pozwala nieuwierzytelnionym atakującym na odczyt dowolnych plików poprzez podanie sekwencji ../ w ścieżce URL. Ścieżka jest konkatenowana bez normalizacji, usuwania segmentów kropek ani sprawdzania granic. Atakujący może ujawnić wrażliwe pliki, takie jak magazyny poświadczeń i klucze prywatne, gdy serwer działa jako root.
- CVE-2026-67184Wysokie
TinyWeb do wersji 0.0.8 zawiera podatność na dereferencję wskaźnika NULL, która pozwala nieuwierzytelnionym atakującym zdalnym na crashowanie procesów roboczych poprzez wysłanie zniekształconej linii żądania HTTP z nieprawidłowym ciągiem wersji. Funkcja HttpParser::execute() nie alokuje obiektu Url, a buildResponse() dereferencjonuje wskaźnik NULL bez sprawdzania flagi valid_requ, powodując SIGSEGV i trwałe wyłączenie serwera po powtórzeniu na wszystkich procesach.
- CVE-2026-67183Wysokie
TinyWeb do wersji 0.0.8 zawiera podatność na wyciek pamięci, która pozwala nieuwierzytelnionym atakującym na wyczerpanie dostępnej pamięci poprzez wysyłanie zwykłych, poprawnie sformułowanych żądań HTTP. Każde żądanie powoduje alokację obiektów Url, HttpHeaders i HttpHeader za pomocą operatora new, które nigdy nie są zwalniane z powodu braku destruktorów i nieosiągalnych wywołań delete. Powoduje to monotoniczny wzrost pamięci procesu roboczego o około 20-28 kB na żądanie, aż do zabicia procesu.
Oryginalny opis (angielski, źródło NVD)
TinyWeb is a web server (HTTP, HTTPS) written in Delphi for Win32. TinyWeb HTTP Server before version 1.98 is vulnerable to OS command injection via CGI ISINDEX-style query parameters. The query parameters are passed as command-line arguments to the CGI executable via Windows CreateProcess(). An unauthenticated remote attacker can execute arbitrary commands on the server by injecting Windows shell metacharacters into HTTP requests. This vulnerability is fixed in 1.98.

