Vulnerabilità di PHP CGI

Le installazioni di PHP che utilizzano l’interprete in modalità CGI (ma non in modalità FastCGI) sono esposte ad una possibile vulnerabilità.

Lo sfruttamento di questo baco è già in giro per Internet; se nei log http vi trovate qualcosa tipo

GET /index.php?-s HTTP/1.1
POST /?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input HTTP/1.1

è qualche simpaticone che sta tentando di vedere se il vostro server è vulnerabile.

Per dissuadere gli attaccanti su un server Apche, indipendentemente dalla modalità con cui lavora PHP, basta aggiungere questi parametri nel file .htaccess o in un posto analogo

RewriteEngine on
RewriteCond %{QUERY_STRING} ^[^=]*$
RewriteCond %{QUERY_STRING} %2d|\- [NC]
RewriteRule .? – [F,L]

Da notare che Facebook non solo non è vulnerabile all’attacco, ma se provate a chiedere la pagina https://facebook.com/?-s vi risponde con un invito…

Autore: Luigi Rosa

Consulente IT, sviluppatore, SysAdmin, cazzaro, e, ovviamente, geek.

5 pensieri riguardo “Vulnerabilità di PHP CGI”

    1. Se hai da qualche parte nella configurazione una cosa tipo:
      LoadModule php5_module modules/libphp5.so
      e’ come modulo di Apache.

      Se invece hai qualcosa tipo
      ScriptAlias /local-bin /usr/local/bin
      AddHandler application/x-httpd-php5 php
      Action application/x-httpd-php5 /local-bin/php-cgi
      inizia a preoccuparti…

      1. Io ho sempre usato il modulo e mai il CGI, a meno di qualche motivo astruso che richiedesse il CGI… cosa che mi pare non si sia mai verificata. Pero` ammetto che ho troppi server per ricordarmi la configurazione esatta di tutti.

Spazio per un commento