Di recente l'abbiamo ricevuto da un controllo di sicurezza:
PHP is a general purpose scripting language that can be embedded into HTML. A vulnerability exists in PHP versions prior to 5.3.12 and 5.4.2 due to improper parsing of query string parameters when configured with a CGI-based setup (e.g., Apache's mod_cgid). Processed query string parameters supplied to an arbitrary PHP file are improperly parsed as command line arguments. Remote attackers could leverage this issue to pass command-line switches (e.g., -s, -c, -n, -f, -r, -B, -R, -F, -E, -t, etc.) to the php-cgi binary and disclose potentially sensitive source code information or execute arbitrary code on vulnerable systems with the privileges of the web server. Successful exploitation requires that the HTTP server complies with section 4.4 (The Script Command Line) of The Common Gateway Interface (CGI) Request for Comments (RFC 3875).
Abbiamo diversi ambienti PHP, tutti in esecuzione come CGI / Fast CGI in IIS. L'aggiornamento di tutte le versioni di PHP è ovviamente la soluzione ideale a lungo termine. Tuttavia, ci vorrà un po 'di tempo, test e pianificazione. Alcuni server sono gestiti da host esterni con i quali stipuliamo contratti, il che complicherà ulteriormente gli aggiornamenti della versione.
Come posso controllare ambienti specifici per questa vulnerabilità? C'è un modo per impedire agli attaccanti remoti di sfruttarlo senza un aggiornamento completo della versione?