mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Fix unsanitized input injection (#15184)
Search for and sanitize import that is output to html. Spurred by report from [Hakiduck](https://huntr.dev/users/mike993/)
This commit is contained in:
@@ -97,8 +97,8 @@ print_optionbar_end();
|
||||
{
|
||||
return {
|
||||
id: "app_ntp",
|
||||
view: '<?php echo $vars['view']; ?>',
|
||||
graph: '<?php echo $vars['graph']; ?>',
|
||||
view: '<?php echo htmlspecialchars($vars['view']); ?>',
|
||||
graph: '<?php echo htmlspecialchars($vars['graph']); ?>',
|
||||
};
|
||||
},
|
||||
url: "ajax_table.php",
|
||||
|
@@ -35,8 +35,8 @@ print_optionbar_end();
|
||||
?>
|
||||
|
||||
<div align="center" style="margin: 30px;">
|
||||
<object data="graph-realtime.php?type=bits&id=<?php echo $port['port_id'] . '&interval=' . $vars['interval']; ?>" type="image/svg+xml" width="1000" height="400">
|
||||
<param name="src" value="graph.php?type=bits&id=<?php echo $port['port_id'] . '&interval=' . $vars['interval']; ?>" />
|
||||
<object data="graph-realtime.php?type=bits&id=<?php echo $port['port_id'] . '&interval=' . htmlspecialchars($vars['interval']); ?>" type="image/svg+xml" width="1000" height="400">
|
||||
<param name="src" value="graph.php?type=bits&id=<?php echo $port['port_id'] . '&interval=' . htmlspecialchars($vars['interval']); ?>" />
|
||||
Your browser does not support the type SVG! You need to either use Firefox or download the Adobe SVG plugin.
|
||||
</object>
|
||||
</div>
|
||||
|
@@ -53,7 +53,7 @@ $graph_view = $vars['view'] == 'graphs';
|
||||
post: function ()
|
||||
{
|
||||
return {
|
||||
view: '<?php echo $vars['view']; ?>'
|
||||
view: '<?php echo htmlspecialchars($vars['view']); ?>'
|
||||
};
|
||||
},
|
||||
url: "<?php echo url('/ajax/table/mempools'); ?>"
|
||||
|
@@ -51,7 +51,7 @@ $pagetitle[] = 'Health :: Processor';
|
||||
{
|
||||
return {
|
||||
id: "processor",
|
||||
view: '<?php echo $vars['view']; ?>'
|
||||
view: '<?php echo htmlspecialchars($vars['view']); ?>'
|
||||
};
|
||||
},
|
||||
url: "ajax_table.php"
|
||||
|
@@ -105,10 +105,10 @@ switch ($class) {
|
||||
post: function () {
|
||||
return {
|
||||
id: 'sensors',
|
||||
view: '<?php echo $vars['view']; ?>',
|
||||
graph_type: '<?php echo $graph_type; ?>',
|
||||
unit: '<?php echo $unit; ?>',
|
||||
class: '<?php echo $class; ?>'
|
||||
view: '<?php echo htmlspecialchars($vars['view']); ?>',
|
||||
graph_type: '<?php echo htmlspecialchars($graph_type); ?>',
|
||||
unit: '<?php echo htmlspecialchars($unit); ?>',
|
||||
class: '<?php echo htmlspecialchars($class); ?>'
|
||||
};
|
||||
},
|
||||
url: "ajax_table.php"
|
||||
|
@@ -52,7 +52,7 @@ $pagetitle[] = 'Health :: Storage';
|
||||
{
|
||||
return {
|
||||
id: "storage",
|
||||
view: '<?php echo $vars['view']; ?>'
|
||||
view: '<?php echo htmlspecialchars($vars['view']); ?>'
|
||||
};
|
||||
},
|
||||
url: "ajax_table.php"
|
||||
|
@@ -52,7 +52,7 @@ $pagetitle[] = 'Health :: Toner';
|
||||
{
|
||||
return {
|
||||
id: "toner",
|
||||
view: '<?php echo $vars['view']; ?>'
|
||||
view: '<?php echo htmlspecialchars($vars['view']); ?>'
|
||||
};
|
||||
},
|
||||
url: "ajax_table.php"
|
||||
|
@@ -55,10 +55,10 @@ $pagetitle[] = 'Outages';
|
||||
?>
|
||||
'</div>' +
|
||||
' <div class="form-group">' +
|
||||
'<input name="from" type="text" class="form-control" id="dtpickerfrom" maxlength="16" value="<?php echo $vars['from']; ?>" placeholder="From" data-date-format="YYYY-MM-DD HH:mm">' +
|
||||
'<input name="from" type="text" class="form-control" id="dtpickerfrom" maxlength="16" value="<?php echo htmlspecialchars($vars['from']); ?>" placeholder="From" data-date-format="YYYY-MM-DD HH:mm">' +
|
||||
'</div>' +
|
||||
'<div class="form-group">' +
|
||||
' <input name="to" type="text" class="form-control" id="dtpickerto" maxlength="16" value="<?php echo $vars['to']; ?>" placeholder="To" data-date-format="YYYY-MM-DD HH:mm">' +
|
||||
' <input name="to" type="text" class="form-control" id="dtpickerto" maxlength="16" value="<?php echo htmlspecialchars($vars['to']); ?>" placeholder="To" data-date-format="YYYY-MM-DD HH:mm">' +
|
||||
'</div>' +
|
||||
' <button type="submit" class="btn btn-default">Filter</button>' +
|
||||
'</form>' +
|
||||
|
@@ -113,20 +113,20 @@ var grid = $("#ports").bootgrid({
|
||||
post: function ()
|
||||
{
|
||||
return {
|
||||
device_id: '<?php echo $vars['device_id'] ?? ''; ?>',
|
||||
device_id: '<?php echo htmlspecialchars($vars['device_id'] ?? ''); ?>',
|
||||
hostname: '<?php echo htmlspecialchars($vars['hostname'] ?? ''); ?>',
|
||||
state: '<?php echo $vars['state'] ?? ''; ?>',
|
||||
ifSpeed: '<?php echo $vars['ifSpeed'] ?? ''; ?>',
|
||||
ifType: '<?php echo $vars['ifType'] ?? ''; ?>',
|
||||
port_descr_type: '<?php echo $vars['port_descr_type'] ?? ''; ?>',
|
||||
ifAlias: '<?php echo $vars['ifAlias'] ?? ''; ?>',
|
||||
location: '<?php echo $vars['location'] ?? ''; ?>',
|
||||
disabled: '<?php echo $vars['disabled'] ?? ''; ?>',
|
||||
ignore: '<?php echo $vars['ignore'] ?? ''; ?>',
|
||||
deleted: '<?php echo $vars['deleted'] ?? ''; ?>',
|
||||
errors: '<?php echo $vars['errors'] ?? ''; ?>',
|
||||
group: '<?php echo $vars['group'] ?? ''; ?>',
|
||||
devicegroup: '<?php echo $vars['devicegroup'] ?? ''; ?>',
|
||||
state: '<?php echo htmlspecialchars($vars['state'] ?? ''); ?>',
|
||||
ifSpeed: '<?php echo htmlspecialchars($vars['ifSpeed'] ?? ''); ?>',
|
||||
ifType: '<?php echo htmlspecialchars($vars['ifType'] ?? ''); ?>',
|
||||
port_descr_type: '<?php echo htmlspecialchars($vars['port_descr_type'] ?? ''); ?>',
|
||||
ifAlias: '<?php echo htmlspecialchars($vars['ifAlias'] ?? ''); ?>',
|
||||
location: '<?php echo htmlspecialchars($vars['location'] ?? '') ?>',
|
||||
disabled: '<?php echo htmlspecialchars($vars['disabled'] ?? ''); ?>',
|
||||
ignore: '<?php echo htmlspecialchars($vars['ignore'] ?? ''); ?>',
|
||||
deleted: '<?php echo htmlspecialchars($vars['deleted'] ?? ''); ?>',
|
||||
errors: '<?php echo htmlspecialchars($vars['errors'] ?? ''); ?>',
|
||||
group: '<?php echo htmlspecialchars($vars['group'] ?? ''); ?>',
|
||||
devicegroup: '<?php echo htmlspecialchars($vars['devicegroup'] ?? ''); ?>',
|
||||
};
|
||||
},
|
||||
url: '<?php echo route('table.ports') ?>'
|
||||
|
@@ -128,9 +128,9 @@ echo '"' . $vars['searchPhrase'] . '"+';
|
||||
post: function ()
|
||||
{
|
||||
return {
|
||||
device_id: '<?php echo $vars['device_id']; ?>',
|
||||
searchby: '<?php echo $vars['searchby']; ?>',
|
||||
searchPhrase: '<?php echo $vars['searchPhrase']; ?>',
|
||||
device_id: '<?php echo htmlspecialchars($vars['device_id']); ?>',
|
||||
searchby: '<?php echo htmlspecialchars($vars['searchby']); ?>',
|
||||
searchPhrase: '<?php echo htmlspecialchars($vars['searchPhrase']); ?>',
|
||||
dns: $("#fdb-search").bootgrid("getColumnSettings").find(col => col.id === "dnsname").visible,
|
||||
};
|
||||
},
|
||||
|
@@ -82,10 +82,10 @@ $pagetitle[] = 'Syslog';
|
||||
'</select>' +
|
||||
'</div>' +
|
||||
' <div class="form-group">' +
|
||||
'<input name="from" type="text" class="form-control" id="dtpickerfrom" maxlength="16" value="<?php echo $vars['from'] ?? ''; ?>" placeholder="From" data-date-format="YYYY-MM-DD HH:mm">' +
|
||||
'<input name="from" type="text" class="form-control" id="dtpickerfrom" maxlength="16" value="<?php echo htmlspecialchars($vars['from'] ?? ''); ?>" placeholder="From" data-date-format="YYYY-MM-DD HH:mm">' +
|
||||
'</div>' +
|
||||
'<div class="form-group">' +
|
||||
' <input name="to" type="text" class="form-control" id="dtpickerto" maxlength="16" value="<?php echo $vars['to'] ?? ''; ?>" placeholder="To" data-date-format="YYYY-MM-DD HH:mm">' +
|
||||
' <input name="to" type="text" class="form-control" id="dtpickerto" maxlength="16" value="<?php echo htmlspecialchars($vars['to'] ?? ''); ?>" placeholder="To" data-date-format="YYYY-MM-DD HH:mm">' +
|
||||
'</div>' +
|
||||
' <button type="submit" class="btn btn-default">Filter</button>' +
|
||||
'</form>' +
|
||||
|
@@ -51,10 +51,10 @@
|
||||
{
|
||||
return {
|
||||
id: 'wireless-sensors',
|
||||
view: '<?php echo $vars['view']; ?>',
|
||||
graph_type: '<?php echo $graph_type; ?>',
|
||||
unit: '<?php echo $unit; ?>',
|
||||
class: '<?php echo $class; ?>'
|
||||
view: '<?php echo htmlspecialchars($vars['view']); ?>',
|
||||
graph_type: '<?php echo htmlspecialchars($graph_type); ?>',
|
||||
unit: '<?php echo htmlspecialchars($unit); ?>',
|
||||
class: '<?php echo htmlspecialchars($class); ?>'
|
||||
};
|
||||
},
|
||||
url: "ajax_table.php"
|
||||
|
Reference in New Issue
Block a user