PHP Resource Exhaustion Denial of Service

From: Matthew Murphy (mattmurphyat_private)
Date: Sat Jul 20 2002 - 18:45:17 PDT

  • Next message: ellipse: "Re: BadBlue - Unauthorized Administrative Command Execution"

    The PHP interpreter is a heavy-duty CGI EXE (or SAPI module, depending on
    configuration) that implements an HTML-embedded script language.  A
    vulnerability in PHP can be used to cause a denial of service in some cases.
    
    PHP's install process on Apache requires a "/php/" alias to be created, as
    it resolves CGI paths to a virtual.  (e.g, /php/php.exe not C:\php\php.exe).
    
    To solve the obvious security vulnerability posed by allowing PHP to run
    from the web, the development team added a cgi.force_redirect option that is
    enabled by default in Apache.
    
    However, regardless of the force_redirect value, it is still possible to
    load the binary without a script path:
    
    (e.g, http://localhost/php/php)
    
    A problem exists in PHP; specifically, it does not terminate when given no
    command-line arguments.  A consistent flow of requests like the above will
    exhaust all resources for CGI/ASAPI on the server.
    
    Exploit: http://www.murphy.101main.net/php-apache.c
    
    I tried to make sure this would run on Linux/BSD, but no guarantees...
    Compiles cleanly on WinMe with MSVC 6.0.
    



    This archive was generated by hypermail 2b30 : Mon Jul 22 2002 - 09:01:23 PDT