Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-57821-PoC-Exploit — 🔐 CVE-2026-57821 - Apache Fineract SQL Injection Toolkit 📚 Dos scripts de Python para pruebas de seguridad autorizadas: verifier.py (detección segura, sin extracción) y exploit.py (análisis profundo). Soporta 11 tipos de DB. Perfecto para comprender las vulnerabilidades de inyección SQL. Solo pruebas legales ⚠️ exclusivamente con fines educativos y de investigación. | Kitploit
Herramientas/GitHubGitHub/tc4dy/cve-2026-57821-poc-exploit
Análisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónSeguridad de Bases de Datos

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
GitHub
tc4dy/cve-2026-57821-poc-exploit

CVE-2026-57821-PoC-Exploit

Ver Repositorio
3hace 1 mesAún no revisado

Acerca de

🔐 CVE-2026-57821 - Apache Fineract SQL Injection Toolkit 📚 Dos scripts de Python para pruebas de seguridad autorizadas: verifier.py (detección segura, sin extracción) y exploit.py (análisis profundo). Soporta 11 tipos de DB. Perfecto para comprender las vulnerabilidades de inyección SQL. Solo pruebas legales ⚠️ exclusivamente con fines educativos y de investigación.

Compartir

CVE-Picture

🛡️ CVE-2026-57821 – Inyección SQL en Apache Fineract

⚠️ AVISO LEGAL Y ÉTICO
Este toolkit se proporciona estrictamente para fines educativos, de formación y de pruebas de seguridad autorizadas.
El uso no autorizado contra cualquier sistema sin permiso escrito explícito es ilegal y viola las leyes de delitos informáticos.
El autor no asume ninguna responsabilidad por el mal uso o los daños.
Usted es el único responsable de sus acciones.


📋 Resumen de la Vulnerabilidad

CVE-2026-57821 es una vulnerabilidad de inyección SQL descubierta en el endpoint de listado de oficinas de Apache Fineract.

🎯 Componente Afectado

AtributoDetalle
Endpoint/api/v1/offices
ParámetroorderBy
MétodoGET
Autenticación requeridaSí (solo usuarios autenticados)
Versiones afectadasApache Fineract ≤ 1.14.0
Versión parcheadaApache Fineract 1.15.0

🧠 Cómo Funciona

La vulnerabilidad existe porque el parámetro orderBy se incrusta directamente en las consultas SQL sin una sanitización adecuada. Un atacante con credenciales válidas puede inyectar subconsultas envueltas en paréntesis () en el parámetro orderBy.

Por qué esto evade los parches anteriores:

  • CVE-2024-32838 introdujo un ColumnValidator para sanitizar las cláusulas ORDER BY
  • El validador no detecta subconsultas simples dentro de paréntesis
  • Esto permite la ejecución arbitraria de SQL dentro del contexto ORDER BY

Ejemplo de Vector de Ataque:

GET /api/v1/offices?orderBy=(SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)&limit=1

⚡ Impacto Potencial

ImpactoDescripción
Exfiltración de datosLa inyección SQL ciega basada en tiempo puede extraer contenido sensible de la base de datos
Denegación de servicioLas consultas pesadas pueden agotar los recursos del pool de conexiones

👤 Descubrimiento y Divulgación


🗄️ Sistemas de Base de Datos Compatibles

Este toolkit detecta automáticamente y adapta las técnicas de explotación para 11 motores de base de datos diferentes:


🛠️ Componentes del Toolkit

Este proyecto proporciona dos scripts de Python para diferentes escenarios de evaluación de seguridad:

📊 verifier.py – Herramienta de Verificación Segura y Mínima

Propósito: Demostrar rápidamente la existencia de la vulnerabilidad sin extraer datos.

Qué hace:

  • Envía payloads de prueba específicos para cada base de datos
  • Detecta retardos de tiempo o mensajes de error
  • Reporta VULNERABLE o NOT VULNERABLE para cada tipo de base de datos
  • NO exfiltra ningún dato

✅ Ventajas:

  • Extremadamente rápido (se completa en segundos)
  • Bajo riesgo legal (solo valida la presencia)
  • Ideal para el escaneo inicial de seguridad
  • Salida apta para informes y cumplimiento

📋 Caso de uso: Evaluación inicial para determinar si el objetivo es vulnerable.

🔬 exploit.py – Analizador de Seguridad Integral

Propósito: Explotar completamente la vulnerabilidad para extraer información de la base de datos.

Qué hace:

  • Detecta automáticamente el tipo de base de datos
  • Usa búsqueda binaria para extraer carácter por carácter
  • Recupera: versión, usuario actual, nombre de la base de datos, lista de tablas (configurable)
  • MSSQL: extracción basada en errores
  • Otros: extracción basada en tiempo con calibración de línea base

✅ Ventajas:

  • Proporciona evidencia concreta del impacto
  • Demuestra el alcance total de la vulnerabilidad
  • Registro detallado con salida codificada por colores

📋 Caso de uso: Análisis de seguridad en profundidad tras la confirmación de la vulnerabilidad.

🔍 Diferencia clave: verifierPoC.py te dice si es vulnerable; exploit.py te muestra qué se puede extraer. Ambos cumplen funciones distintas pero complementarias en un flujo de trabajo de evaluación de seguridad.


⚙️ Instalación y Configuración

Requisitos previos

  • Python 3.6+
  • Biblioteca requests
root@kitploit:~
pip install requests

⚙️ Variables de Configuración

Edite las siguientes variables al comienzo de ambos scripts:

🚀 Guía de Uso

1️⃣ exploit.py - Escaneo Profundo

root@kitploit:~
python3 exploit.py

Salida Esperada:

root@kitploit:~
CVE-2026-57821 - Apache Fineract Vulnerability Verifier
══════════════════════════════════════════════════════════════════════════════════════
@tc4dy is here :) Good Luck!

CONNECTION SUCCESS
BASELINE: 0.234s
STARTING VULNERABILITY VERIFICATION
VERIFICATION RESULTS
PostgreSQL: VULNERABLE
MySQL: NOT VULNERABLE
MariaDB: NOT VULNERABLE
Oracle: NOT VULNERABLE
MSSQL: NOT VULNERABLE
CONCLUSION: TARGET IS VULNERABLE (CVE-2026-57821 CONFIRMED)

Interpretation: If VULNERABLE appears for any database type, the target is affected.

🎯 Especificaciones Técnicas

CVSS Score Metric Value CVSS v3.1 Base Score 8.1 (Alta) Vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H Attack Vector Red Privileges Required Bajo User Interaction Ninguna

EPSS Score

root@kitploit:~
0.29% (probabilidad de explotación en 30 días)

CWE Mapping

root@kitploit:~
CWE‑89: Neutralización incorrecta de elementos especiales utilizados en un comando SQL ('Inyección SQL')

🧪 Inmersión Técnica Profunda

Por Qué Funciona el Payload

El código vulnerable en Apache Fineract 1.14.0:

root@kitploit:~
// Simplified vulnerable logic
String orderBy = request.getParameter("orderBy");
if (ColumnValidator.isValid(orderBy)) {
    // VALIDATOR FAILS FOR: "(SELECT ...)"
    // Only checks against simple column names
    String sql = "SELECT * FROM offices ORDER BY " + orderBy;
    // Executes query with user input directly
}

Ejemplo de Payload del Atacante:

root@kitploit:~
GET /api/v1/offices?orderBy=(SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)&limit=1

SQL Resultante:

root@kitploit:~
SELECT * FROM offices ORDER BY (SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)

El ColumnValidator comprueba los nombres de columna, pero no detecta la subconsulta anidada, lo que permite la ejecución arbitraria de SQL.

🛡️ Mitigación

Descargar herramienta
Divulgación de información
Las técnicas basadas en errores pueden revelar la estructura y los datos de la base de datos
AtributoDetalle
Descubridor / InformanteTerence Monteiro (Apache Fineract Team)
Fecha de divulgación pública14 de julio de 2026
Versión parcheadaApache Fineract 1.15.0
Anuncio oficialLista de correo de Apache
Corrección en GitHubPR #6048
Base de datosMétodo de detecciónTécnica de explotación
PostgreSQLBasada en tiempo (pg_sleep)Ciega basada en tiempo
MySQLBasada en tiempo (SLEEP)Ciega basada en tiempo
MariaDBBasada en tiempo + @@version_commentCiega basada en tiempo
MSSQLBasada en errores (fallo de CONVERT)Basada en errores
OracleBasada en tiempo (DBMS_LOCK.SLEEP)Ciega basada en tiempo
SQLiteConsulta pesada (unión cartesiana)Basada en tiempo (pesada)
FirebirdConsulta pesada (unión cartesiana)Basada en tiempo (pesada)
DB2Consulta pesada (unión cartesiana)Basada en tiempo (pesada)
InformixConsulta pesada (unión cartesiana)Basada en tiempo (pesada)
H2Consulta pesada (unión cartesiana)Basada en tiempo (pesada)
Desconocida (genérica)Repliegue a PostgreSQLBasada en tiempo
VariableDescripciónValor predeterminado
TARGETURL de la API de Fineracthttp://localhost:8080/fineract-provider/api/v1/offices
USERNAMENombre de usuario de autenticación de la APImifos
PASSWORDContraseña de autenticación de la APIpassword
TENANT_IDIdentificador de inquilino (tenant)default
BASE_SLEEPDuración de la espera para pruebas basadas en tiempo (exploit.py)6
SLEEP_SECONDSDuración de la espera para pruebas basadas en tiempo (verifier.py)5
TIMEOUTTiempo de espera de la solicitud HTTP25 (exploit) / 15 (verifier)
MAX_RETRIESNúmero de reintentos para solicitudes fallidas2
AcciónPrioridad
Actualizar a Apache Fineract 1.15.0+🔴 Crítica
Aplicar el parche del PR #6048🔴 Crítica
Regla WAF: Bloquear orderBy que contenga (SELECT, SLEEP(, pg_sleep(, WAITFOR🟠 Alta
Monitorear los registros en busca de orderBy con paréntesis o palabras clave de subconsultas🟠 Alta
Monitoreo del pool de conexiones de la base de datos para detectar agotamiento de recursos🟡 Media