LibreNMS has a Time-Based Blind SQL Injection in address-search.inc.php
Date: 2026-02
Affected: composer/librenms/librenms
Attack vector: sql-injection
Category: vulnerability-disclosure
Severity: High
CVE: CVE-2026-26990
CWE: CWE-89
CVSS: 8.8 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)

### Summary A time-based blind SQL injection vulnerability exists in `address-search.inc.php` via the `address` parameter. When a crafted subnet prefix is supplied, the prefix value is concatenated directly into an SQL query without proper parameter binding, allowing an attacker to manipulate query logic and infer database information through time-based conditional responses. ### Details This vulnerability requires authentication and is exploitable by any authenticated user. The vulnerable endpoint is at `/ajax_table.php` with the following request displaying the injection point. ``` POST /ajax_table.php HTTP/1.1 Host: 192.168.236.131 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0 Accept: */* Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Origin: http://192.168.236.131 Connection: keep-alive Referer: http://192.168.236.131/search Cookie: laravel_session=[Authenticated user cookie] current=1&rowCount=55&sort%5Bhostname%5D=asc&searchPhrase=&id=address-search&search_type=ipv4&device_id=1&interface=&address=127.0.0.1/aa<injected SQL here> ``` Within `includes/html/table/address-search.inc.php`, the user-controlled `$prefix` variable derived from the `address` parameter is concatenated directly into the SQL query without sanitization or parameter binding on lines 34 and 52. ```php // Lines 16-35, 51-53 $address = $vars['address'] ?? ''; $prefix = ''; $sort =


Mitigations:

Architectural layers (MAESTRO):