From feb968189cd74903e653e9e0a657bebcf22e3991 Mon Sep 17 00:00:00 2001 From: alec Date: Fri, 10 Sep 2010 08:09:10 +0000 Subject: - Security improvements for chpasswd driver (#1486987) git-svn-id: https://svn.roundcube.net/trunk@3955 208e9e7b-5314-0410-a742-e7e81cd9613c --- plugins/password/README | 3 +++ plugins/password/drivers/chpasswd.php | 15 +++++++-------- plugins/password/package.xml | 8 ++++++-- 3 files changed, 16 insertions(+), 10 deletions(-) (limited to 'plugins') diff --git a/plugins/password/README b/plugins/password/README index 2e3a59509..8cb568db1 100644 --- a/plugins/password/README +++ b/plugins/password/README @@ -223,6 +223,9 @@ Driver that adds functionality to change the systems user password via the 'chpasswd' command. See config.inc.php file. + Attached wrapper script (chpass-wrapper.py) restricts password changes + to uids >= 1000 and can deny requests based on a blacklist. + 2.12. LDAP - no PEAR (ldap_simple) ----------------------------------- diff --git a/plugins/password/drivers/chpasswd.php b/plugins/password/drivers/chpasswd.php index ed15a054e..5c6bde2d2 100644 --- a/plugins/password/drivers/chpasswd.php +++ b/plugins/password/drivers/chpasswd.php @@ -11,15 +11,16 @@ * @version 1.0 * @author Alex Cartwright config->get('password_chpasswd_cmd')); + $cmd = rcmail::get_instance()->config->get('password_chpasswd_cmd'); + $username = $_SESSION['username']; + + $handle = popen($cmd, "w"); + fwrite($handle, "$username:$newpass"); - if (exec($cmd) == 0) { + if (pclose($handle) == 0) { return PASSWORD_SUCCESS; } else { @@ -33,5 +34,3 @@ function password_save($currpass, $newpass) return PASSWORD_ERROR; } - -?> diff --git a/plugins/password/package.xml b/plugins/password/package.xml index a106c8917..433280980 100644 --- a/plugins/password/package.xml +++ b/plugins/password/package.xml @@ -15,8 +15,8 @@ alec@alec.pl yes - - + 2010-09-10 + 1.7 1.5 @@ -28,6 +28,8 @@ GNU GPLv2 - Added XMail driver +- Improve security of chpasswd driver using popen instead of exec+echo (#1486987) +- Added chpass-wrapper.py script to improve security (#1486987) @@ -81,6 +83,8 @@ + + -- cgit v1.2.3