CVE-2020-36947
PHP vulnerability analysis and mitigation

Overview

CVE-2020-36947 is an authenticated SQL injection vulnerability in LibreNMS version 1.46, specifically affecting the MAC accounting graph endpoint. Attackers with valid credentials can manipulate the sort parameter to perform time-based blind SQL injection and extract sensitive database contents. The vulnerability was published on January 27, 2026, and carries a CVSS v3.1 base score of 6.5 (Medium) and a CVSS v4.0 base score of 7.1 (High) (Feedly, VulnCheck Advisory).

Technical details

The root cause is improper neutralization of special elements in SQL commands (CWE-89), where user-supplied input to the sort parameter in the MAC accounting graph endpoint is not adequately sanitized before being incorporated into database queries. An authenticated attacker can craft malicious SQL payloads — specifically time-based blind SQL injection techniques — to infer database contents character by character based on server response timing. Exploitation requires a valid user account on the LibreNMS instance but no elevated privileges. A public exploit is available on Exploit-DB (Exploit-DB, VulnCheck Advisory).

Impact

Successful exploitation allows an authenticated attacker to extract the full contents of the LibreNMS database, which may include credentials, device configurations, SNMP community strings, user account data, and other sensitive network monitoring information. The impact is primarily on confidentiality (rated High), with no direct availability or integrity impact per the CVSS v3.1 scoring. Exposure of SNMP credentials or device management data could facilitate lateral movement into monitored network infrastructure (Feedly).

Exploitability

A public proof-of-concept exploit is available on Exploit-DB (EDB-49246), making this vulnerability accessible to less sophisticated attackers (Exploit-DB). The EPSS score is extremely low at 0.003%, suggesting limited observed exploitation activity in the wild. There is no current listing in the CISA Known Exploited Vulnerabilities (KEV) catalog, and no specific threat actor attribution has been reported. The vulnerability is detectable by Qualys scanner (detection ID 5007310) (Feedly).

Exploitation steps

  1. Reconnaissance: Identify LibreNMS instances running version 1.46 via network scanning or web fingerprinting. Look for the LibreNMS login page and version indicators in HTTP headers or page source.
  2. Authentication: Log in to the LibreNMS web interface using any valid low-privileged user account.
  3. Locate the vulnerable endpoint: Navigate to the MAC accounting graph endpoint within the LibreNMS web application (typically accessible via the billing/MAC accounting section of the UI).
  4. Craft the injection payload: Modify the sort parameter in the HTTP request to include a time-based blind SQL injection payload (e.g., sort=1 AND SLEEP(5)-- or similar DBMS-specific timing payloads).
  5. Enumerate the database: Use automated tools such as sqlmap with the authenticated session cookie, targeting the sort parameter, to systematically extract database schema, table names, and sensitive data through timing-based inference.
  6. Exfiltrate data: Retrieve sensitive contents such as user credentials, SNMP community strings, and device configurations from the database (Exploit-DB, VulnCheck Advisory).

Indicators of compromise

  • Network: Unusual or repeated HTTP requests to the MAC accounting graph endpoint with anomalous sort parameter values containing SQL keywords (e.g., SLEEP, WAITFOR, BENCHMARK, AND, OR, --).
  • Logs: LibreNMS web server access logs showing requests to the MAC accounting graph endpoint with encoded or unusual sort parameter values; elevated response times on specific requests suggesting time-based injection.
  • Database: Unexpected slow queries in MySQL/MariaDB slow query logs originating from the LibreNMS application user, particularly involving SLEEP() or similar timing functions.
  • Application: Multiple sequential requests to the same endpoint from a single authenticated session with incrementally varying sort parameter values, consistent with automated blind SQL injection enumeration.

Mitigation and workarounds

Users should upgrade LibreNMS beyond version 1.46 to a patched release, as the vulnerability is specific to that version. The LibreNMS project maintains active releases (current latest is 26.5.1 as of May 2026) and users should update to the latest stable version (LibreNMS GitHub). As an interim measure, restrict access to the LibreNMS web interface to trusted IP addresses and enforce strong, unique credentials for all user accounts to reduce the attack surface. Review and audit LibreNMS user accounts to ensure the principle of least privilege is applied.

Additional resources


SourceThis report was generated using AI

Related PHP vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-52777CRITICAL9.4
  • PHP logoPHP
  • yeswiki/yeswiki
NoYesSep 05, 2026
CVE-2026-52775HIGH8.8
  • PHP logoPHP
  • yeswiki/yeswiki
NoYesSep 05, 2026
CVE-2026-86428HIGH8.7
  • PHP logoPHP
  • league/commonmark
NoYesSep 07, 2026
CVE-2026-52774MEDIUM6.1
  • PHP logoPHP
  • yeswiki/yeswiki
NoYesSep 05, 2026
CVE-2026-52773MEDIUM6.1
  • PHP logoPHP
  • yeswiki/yeswiki
NoYesSep 05, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management