Files
librenms-librenms/includes/html/forms/discovery-module-update.inc.php
Tony Murray 36431dd296 Security fix: unauthorized access (#10091)
* Security fix: unauthorized access
Affects nginx users:
Moved php files outside of public html directory (Apache was protected by .htaccess)

Affects all users:
Some files did not check for authentication and could disclose some info.
Better checks before including files from user input

* git mv html/includes/ includes/html
git mv html/pages/ includes/html/
2019-04-11 23:26:42 -05:00

34 lines
808 B
PHP

<?php
use LibreNMS\Authentication\LegacyAuth;
header('Content-type: text/plain');
// FUA
if (!LegacyAuth::user()->hasGlobalAdmin()) {
die('ERROR: You need to be admin');
}
$device['device_id'] = $_POST['device_id'];
$module = 'discover_'.$_POST['discovery_module'];
if (!isset($module) && validate_device_id($device['device_id']) === false) {
echo 'error with data';
exit;
} else {
if ($_POST['state'] == 'true') {
$state = 1;
} elseif ($_POST['state'] == 'false') {
$state = 0;
} else {
$state = 0;
}
if (isset($attribs['discover_'.$module]) && $attribs['discover_'.$module] != $config['discover_modules'][$module]) {
del_dev_attrib($device, $module);
} else {
set_dev_attrib($device, $module, $state);
}
}