tbrehm
2010-01-14 b6ff2e1bd5c4dd8ecd8fad575ca201a0cd5cc8dd
Fixed: FS#907 - possible security issue deleting maildir .. plugin module [ mail_plugin.inc.php ]
1 files modified
4 ■■■■ changed files
server/plugins-available/mail_plugin.inc.php 4 ●●●● patch | view | raw | blame | history
server/plugins-available/mail_plugin.inc.php
@@ -269,7 +269,7 @@
        
        //* Delete maildomain path
        $old_maildomain_path = escapeshellcmd($mail_config['homedir_path'].'/'.$data['old']['domain']);
        if(!stristr($old_maildomain_path,'..') && !stristr($old_maildomain_path,'*') && strlen($old_maildomain_path) >= 10) {
        if(!stristr($old_maildomain_path,'//') && !stristr($old_maildomain_path,'..') && !stristr($old_maildomain_path,'*') && !stristr($old_maildomain_path,'&') && strlen($old_maildomain_path) >= 10) {
            exec('rm -rf '.escapeshellcmd($old_maildomain_path));
            $app->log('Deleted the mail domain directory: '.$old_maildomain_path,LOGLEVEL_DEBUG);
        } else {
@@ -278,7 +278,7 @@
        
        //* Delete mailfilter path
        $old_maildomain_path = escapeshellcmd($mail_config['homedir_path'].'/mailfilters/'.$data['old']['domain']);
        if(!stristr($old_maildomain_path,'..') && !stristr($old_maildomain_path,'*') && strlen($old_maildomain_path) >= 10) {
        if(!stristr($old_maildomain_path,'//') && !stristr($old_maildomain_path,'..') && !stristr($old_maildomain_path,'*') && !stristr($old_maildomain_path,'&') && strlen($old_maildomain_path) >= 10) {
            exec('rm -rf '.escapeshellcmd($old_maildomain_path));
            $app->log('Deleted the mail domain mailfilter directory: '.$old_maildomain_path,LOGLEVEL_DEBUG);
        } else {