Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as unprivileged LibreNMS user
-
DeliverySubmit array-valued notification_id to notifications.inc.php
-
ExploitTrigger SQL injection cross-table read
-
ExecutionPersist users.password hashes into notifications_attribs
-
ImpactRead hashes via interface and crack offline
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated LibreNMS account at any privilege level (the description explicitly states 'unprivileged users'), matching PR:L - there is no anonymous/unauthenticated path. The specific trigger is supplying the notification_id parameter to notifications.inc.php as an array value instead of a scalar, which breaks the query construction and enables SQL injection; a normal scalar value does not trigger it. No special non-default configuration, platform, or user interaction is needed - any default LibreNMS instance before 26.9.0 with a reachable login is exploitable. The limiting factors are the account requirement and the need to interact with the notifications subsystem; the affected version ceiling (<26.9.0) bounds exposure. |
| Impact | This is a credible, actionable priority rather than a CVSS-inflated non-issue, though not a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) describes a network-reachable, low-complexity attack requiring only low-privilege authentication and no user interaction - i.e., any ordinary logged-in LibreNMS user can trigger it. The 7.1 (High) score is driven by VC:H: the flaw reads users.password hashes across tables, a high-confidentiality impact that can seed credential-cracking and privilege escalation. VI:L reflects that attacker output is persisted into notifications_attribs rows. No EPSS score, KEV listing, or public POC is present in the provided data, so there is no public exploit identified at time of analysis and no evidence of active exploitation - the risk is currently potential, not observed. The main counterbalance to the network vector is PR:L: exploitation requires a valid (if unprivileged) account, which limits purely external anonymous attackers and shifts this toward insider or post-foothold scenarios. No signals conflict with the vector; the chief unknown is simply the absence of exploitation-probability telemetry (EPSS) in the input. |
| Exploit ScenarioDerived | An attacker holding any low-privileged LibreNMS account sends a crafted request to notifications.inc.php supplying notification_id as an array rather than a scalar, injecting SQL that pulls password hashes from the users table. The injected query result is written into notifications_attribs and then read back through the normal web interface, letting the attacker harvest administrator hashes for offline cracking. No public exploit is identified at time of analysis, but the low attack complexity and no-interaction requirement make weaponization straightforward for an authenticated actor. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
SQL injection in LibreNMS before 26.9.0 allows an authenticated user at any privilege level to read arbitrary database tables - including the users.password hash column - by passing an array-valued notification_id parameter to notifications.inc.php instead of a scalar. The injected values break query construction in the notifications subsystem, and because extracted data is persisted into notifications_attribs and surfaced through the normal web interface, a low-privileged account can retrieve the results without any further foothold. No public exploit code has been identified at time of analysis and the issue is not confirmed as actively exploited (not in CISA KEV); the primary constraint on exploitation is the need for a valid LibreNMS login, which matches the PR:L rating in the assessed vector (CVSS 3.1 7.1, confidentiality High, integrity Low).
RemediationAI
Upgrade LibreNMS to 26.9.0 or later - this is the vendor-released fix and the primary remediation path; consult the GitHub advisory GHSA-2pw7-8mmj-gcw5 (https://github.com/librenms/librenms/security/advisories/GHSA-2pw7-8mmj-gcw5) and the VulnCheck advisory (https://www.vulncheck.com/advisories/librenms-before-26.9.0-sql-injection-via-notification-id-in-notifications-inc-php) for the exact change set. If immediate upgrade is not possible, compensating controls should target the account prerequisite and the notifications subsystem: because exploitation requires a valid login at any privilege level, tightly restricting who can authenticate to LibreNMS, disabling unused or stale accounts, and removing self-service registration limits the attacker pool, though this does not help where legitimate low-privileged operators exist and it degrades normal operations. Restricting network access to the web interface (management VLANs, VPN-only, or IP allow-listing at a reverse proxy) reduces exposure but is disruptive for distributed monitoring teams. Reviewing and pruning the notifications_attribs table for anomalous or unexpected rows can detect post-exploitation persistence, at the cost of losing forensic artifacts if purged too aggressively. A WAF rule that rejects array-style parameters such as notification_id[]= on the vulnerable endpoint may block the trivial vector, but parameter-parsing bypasses are common and this should be treated as a stopgap, not a substitute for upgrading. Given the confidentiality impact includes exposure of users.password hashes, plan to rotate credentials - and any reusable operator passwords - after patching.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
LibreNMS is a PHP-based network monitoring and management platform whose web front end exposes a notifications subsystem through files such as notifications.inc.php. The root cause is CWE-89, improper neutralization of special elements used in an SQL statement, arising specifically from a type-confusion condition: the notification_id parameter is expected to be a scalar but is accepted as an array, which alters how the query is assembled and lets attacker-controlled content reach the SQL engine. This is a second-order style issue as well - the query results are written into the notifications_attribs table and can then be read back through the LibreNMS UI, meaning the injection channel is both the entry point and, indirectly, part of the retrieval path. The CPE cpe:2.3:a:librenms:librenms:*:*:*:*:*:*:*:* is unversioned, so the authoritative boundary is the vendor statement that all releases before 26.9.0 are affected. The tags (PHP, SQLi, LibreNMS) align with the advisory content, and the assessed vector confirms network reachability with low privileges and no user interaction, limited to confidentiality impact with a minor integrity component and no availability impact.
Know when Librenms gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
Network-reachable injection by any logged-in user gives AV:N/AC:L/PR:L/UI:N; reading password hashes is C:H, writing attacker rows to notifications_attribs is I:L, no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
LibreNMS before 26.9.0 contains an SQL injection vulnerability that allows unprivileged users to inject SQL by supplying an array-valued notification_id parameter to notifications.inc.php. Attackers can perform cross-table reads of users.password hashes, with results persisted in notifications_attribs and readable through the interface.
Articles & Coverage 1
Technical POC Analysis
Evidence note: the supplied material is the GitHub advisory GHSA-2pw7-8mmj-gcw5 plus its self-contained PoC script.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
LibreNMS, the network monitoring platform used to track infrastructure health, contains a SQL injection flaw that allows any logged-in user - regardless of privilege level - to read the platform's underlying database, including stored user password hashes. Because extracted data is written into notification tables and rendered back through the normal web interface, an attacker holding even a basic account can retrieve credential material without needing any further foothold on the host. Leadership should treat this as a credential-exposure risk: captured hashes could be cracked or reused against the network devices and management systems the monitoring team already has access to.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict LibreNMS web and administrative access to trusted networks or VPN; enforce MFA at a fronting authentication or reverse-proxy layer; minimize and audit accounts, disabling stale or shared logins given exploitation requires only a valid authenticated session; apply least-privilege role assignments; block array-valued or non-scalar notification_id parameters to notifications.inc.php via WAF or reverse-proxy rules; rotate all LibreNMS credentials and any reused credentials, and monitor the notifications_attribs table and web/query logs for anomalies.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
An issue was discovered in LibreNMS through 1.47. Rated high severity (CVSS 7.2), this vulnerability is remotely exploit
Librenms 21.11.0 is affected by a path manipulation vulnerability in includes/html/pages/device/showconfig.inc.php. Rate
An issue was discovered in LibreNMS through 1.47. Rated critical severity (CVSS 9.8), this vulnerability is remotely exp
Authentication bypass in the LibreNMS REST API (all versions before 26.8.0) lets unauthenticated remote attackers reach
SQL injection in LibreNMS 25.12.0 and below. PoC and patch available.
An issue was discovered in LibreNMS through 1.47. Rated critical severity (CVSS 9.1), this vulnerability is remotely exp
SQL injection in LibreNMS versions 25.12.0 and below allows authenticated users to extract sensitive database informatio
LibreNMS is an open-source, PHP/MySQL/SNMP-based network monitoring system. Rated high severity (CVSS 8.8), this vulnera
An issue was discovered in LibreNMS before 1.65.1. Rated high severity (CVSS 8.8), this vulnerability is remotely exploi
An issue was discovered in LibreNMS 1.50.1. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable,
An issue was discovered in LibreNMS through 1.47. Rated high severity (CVSS 8.8), this vulnerability is remotely exploit
Command injection in LibreNMS's Virtualization Discovery module enables authenticated administrator-level users to execu
EUVD-2026-97655
GHSA-g9jw-2r94-hwjc
NVD
CVE.org
EPSS
Exploit-DB