Security
Headlines
HeadlinesLatestCVEs

Headline

CVE-2018-15918: CVE-2018-15918 Jorani Leave Management System 0.6.5 - SQL Injection - Hackpuntes

An issue was discovered in Jorani 0.6.5. SQL Injection (error-based) allows a user of the application without permissions to read and modify sensitive information from the database used by the application via the startdate or enddate parameter to leaves/validate.

CVE
#sql#ios#mac#git#php#acer

Esta entrada tiene como finalidad hacer pública la vulnerabilidad SQL Injection descubierta en el software Jorani Leave Management System 0.6.5, la vulnerabilidad ha sido asociada al CVE-2018-159178.

****Jorani CVE-2018-15918******Jorani Leave Management System 0.6.5 – SQL Injection**

Jorani es un sistema de administración de licencias desarrollado en PHP / MySQL bajo una licencia AGPL v3, está diseñado para proporcionar solicitud de flujos de trabajo simples y tiempo extra para organizaciones pequeñas.

📅 Vulnerabilidad descubierta por Javier Olmedo el 02/08/2018

💣 Publicada el 03/09/2018

🐛 CVE-2018-15918

🔗 Link del software Jorani Leave Management System

🐞 Versión vulnerable = 0.6.5 y posiblemente anteriores

****Vector de ataque / Criticidad de la explotación********CRITICIDAD –** **CRÍTICA****

A través de las vulnerabilidades SQL Injection, un usuario malintencionado podría leer, modificar o borrar información de la base de datos que utiliza la aplicación, lanzar comandos al sistema operativo o causar una denegación de servicio con el objetivo de obtener información confidencial, escalar privilegios o dejar inoperativa la aplicación.

****Parámetros vulnerables****

Los parámetros startdate y enddate son vulnerable a ataques SQL Injection a través de peticiones POST en el recurso /leaves/validate, estas peticiones permiten las condiciones WHERE, HAVING, ORDER BY y GROUP BY, lo que permite que sean fácilmente explotables y recuperar grandes cantidades de información de la base de datos con una sola consulta.

💉 Payload

id=1&type=compensate&startdate=2018-08-02&enddate=2018-08-03′) AND (SELECT 2138 FROM(SELECT COUNT(*),CONCAT(0x7178787071,(SELECT (ELT(2138=2138,1))),0x716b716271,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a) AND (‘WfLI’=’WfLI&startdatetype=Morning&enddatetype=Afternoon&leave_id=

📷 Captura de pantalla de SQLmap lanzando el comando

sqlmap -r jorani-poc.req -p enddate --dbms=MySQL --dbs

****Prueba de concepto (PoC)****

1. Si añadimos el caracter en el parámetro startdate obtenemos un error en la aplicación

1.1 Petición

1.2 Respuesta

2. En cambio, al añadir dos , obtenemos un código 200 OK

2.1 Petición

2.2 Respuesta

****Timeline****

02/08/2018 Descubrimiento de la vulnerabilidad

02/08/2018 Creo issue en GitHub del proyecto

03/08/2018 El desarrollador invalida y cierra el issue 😥

27/08/2018 Solicito CVE

28/08/2018 Asignación de CVE-2018-15918 por MITRE

03/09/2018 Hago pública la vulnerabilidad

****Referencias****

CVE-MITRE – https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-15918

Un saludo a todos!! 👋

CVE: Latest News

CVE-2023-50976: Transactions API Authorization by oleiman · Pull Request #14969 · redpanda-data/redpanda
CVE-2023-6905
CVE-2023-6903
CVE-2023-6904
CVE-2023-3907