TinyWeb (serwer HTTP/HTTPS napisany w Delphi dla Win32) przed wersją 2.04 nie odrzucał niebezpiecznych znaków kontrolnych w nagłówkach żądań HTTP, co umożliwia atak typu header injection. Podatność jest krytyczna, gdyż nie wymaga uwierzytelnienia i może prowadzić do manipulacji danymi przekazywanymi do skryptów CGI.
▸ Pokaż oryginał (EN)
TinyWeb is a web server (HTTP, HTTPS) written in Delphi for Win32. Prior to version 2.04, TinyWeb accepts request header values and later maps them into CGI environment variables (HTTP_*). The parser did not strictly reject dangerous control characters in header lines and header values, including CR, LF, and NUL, and did not consistently defend against encoded forms such as %0d, %0a, and %00. This can enable header value confusion across parser boundaries and may create unsafe data in the CGI execution context. This issue has been patched in version 2.04.
Serwer TinyWeb przyjmuje wartości nagłówków HTTP i mapuje je na zmienne środowiskowe CGI (HTTP_*). Parser nie odrzucał w sposób rygorystyczny znaków kontrolnych takich jak CR (powrót karetki), LF (nowa linia) i NUL, zarówno w postaci surowej, jak i zakodowanej URL (%0d, %0a, %00). Brak tej walidacji pozwala atakującemu na przemycenie dodatkowych nagłówków lub znaków terminujących linie, co prowadzi do tzw. header value confusion na granicach parserów. Sfałszowane dane mogą trafić do niebezpiecznego kontekstu wykonawczego skryptów CGI.
Atakujący może manipulować zmiennymi środowiskowymi przekazywanymi do aplikacji CGI, potencjalnie wstrzykując dodatkowe nagłówki lub dane, co może skutkować naruszeniem integralności przetwarzanych żądań i danych po stronie serwera oraz aplikacji CGI.
Należy zaktualizować TinyWeb do wersji 2.04, w której problem został naprawiony. Patch dostępny jest w repozytorium producenta (commit 53aa8b6e5146491d7be57920e3fc50d7a34e4d5a na GitHub).
Ritlabs TinyWeb w wersjach wcześniejszych niż 2.04 (serwer HTTP/HTTPS dla Win32)
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:H/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XRitlabs Tinyweb
APPRitlabs< 2.04
Powiązane podatności
Integer overflow w TinyWeb umożliwia HTTP Request Smuggling
RCE lub ujawnienie kodu źródłowego w TinyWeb przez pominięcie kontroli parametrów CGI
Command injection w TinyWeb HTTP Server via parametry CGI ISINDEX
TinyWeb is a web server (HTTP, HTTPS) written in Delphi for Win32. Versions prior to version 2.02 are vulnerab...
TinyWeb is a web server (HTTP, HTTPS) written in Delphi for Win32. Versions prior to version 2.02 have a Denia...