diff options
author | jim-p <jimp@netgate.com> | 2018-08-27 09:31:46 -0400 |
---|---|---|
committer | jim-p <jimp@netgate.com> | 2018-08-27 09:31:46 -0400 |
commit | c45cac34db914f175dc3cbfed8119d08d08aa519 (patch) | |
tree | 3b026e1934ad22bab7e085bcecd9e6d3aaac3215 | |
parent | b4e2567f4603ac77b0cb47be03bad7dfb989ef86 (diff) | |
download | pfsense-c45cac34db914f175dc3cbfed8119d08d08aa519.zip pfsense-c45cac34db914f175dc3cbfed8119d08d08aa519.tar.gz |
Escape arguments when relinquishing a DHCP lease. Fixes #8843
-rw-r--r-- | src/usr/local/www/status_interfaces.php | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/usr/local/www/status_interfaces.php b/src/usr/local/www/status_interfaces.php index 395f1fb..7b6aa4b 100644 --- a/src/usr/local/www/status_interfaces.php +++ b/src/usr/local/www/status_interfaces.php @@ -85,9 +85,13 @@ function dhcp_relinquish_lease($if, $ifdescr, $ipv) { $leases_db = '/var/db/dhclient.leases.' . $if; $conf_file = '/var/etc/dhclient_'.$ifdescr.'.conf'; $script_file = '/usr/local/sbin/pfSense-dhclient-script'; + $ipv = ((int) $ipv == 6) ? '-6' : '-4'; if (file_exists($leases_db) && file_exists($script_file)) { - mwexec('/usr/local/sbin/dhclient -'.$ipv.' -d -r -lf '.$leases_db.' -cf '.$conf_file.' -sf '.$script_file); + mwexec('/usr/local/sbin/dhclient {$ipv} -d -r' . + ' -lf ' . escapeshellarg($leases_db) . + ' -cf ' . escapeshellarg($conf_file) . + ' -sf ' . escapeshellarg($script_file)); } } |