GHSA-rfx5-fh9m-9jj9: CGI Parameter Injection (Bypass of STRICT_CGI_PARAMS and EscapeShellParam)
TinyWeb is a web server (HTTP, HTTPS) written in Delphi for Win32. A vulnerability in versions prior to 2.01 allows unauthenticated remote attackers to bypass the web server's CGI parameter security controls. Depending on the server configuration and the specific CGI executable in use, the impact is either source code disclosure or remote code execution (RCE). Anyone hosting CGI scripts (particularly interpreted languages like PHP) using vulnerable versions of TinyWeb is impacted. The problem has been patched in version 2.01. If upgrading is not immediately possible, ensure STRICTCGIPARAMS is enabled (it is defined by default in define.inc) and/or do not use CGI executables that natively accept dangerous command-line flags (such as php-cgi.exe). If hosting PHP, consider placing the server behind a Web Application Firewall (WAF) that explicitly blocks URL query string parameters that begin with a hyphen (-) or contain encoded double quotes (%22).
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
TinyWebto a version that resolves this vulnerability.Fixed in 2.01 - Configuration
Ensure STRICT_CGI_PARAMS is enabled; it is defined by default in define.inc.
TinyWeb STRICT_CGI_PARAMS = enabled - Compensating control
For PHP hosting, place the server behind a Web Application Firewall (WAF) that blocks URL query-string parameters beginning with '-' or containing encoded double quotes (%22).
- Compensating control
Do not use CGI executables that natively accept dangerous command-line flags, such as php-cgi.exe.