
CVE-2023-22884 PoC
PoC para CVE-2023-22884 es una vulnerabilidad RCE de Apache Airflow que afecta a versiones anteriores a 2.4.0.
La descripción del informe oficial dice:
Vulnerabilidad de Neutralización Incorrecta de Elementos Especiales utilizados en un Comando ('Inyección de Comandos') en Apache Software Foundation Apache Airflow, Apache Software Foundation Apache Airflow MySQL Provider. Este problema afecta a Apache Airflow: antes de 2.5.1; Apache Airflow MySQL Provider: antes de 4.0.0. (fuente)
Las versiones afectadas de este paquete son vulnerables a la Inyección de Comandos debido a la falta de sanitización de la entrada a la declaración LOAD DATA LOCAL INFILE, que puede ser utilizada por un atacante para ejecutar comandos en el sistema operativo. (fuente)
El repositorio fue creado para un artículo de análisis de CVE disponible en el blog de vsociety.
Puedes clonar el repositorio:
git clone https://github.com/jakabakos/CVE-2023-22884-Airflow-SQLi.git
cd CVE-2023-22884-Airflow-SQLi/airflow-2.5.0
Ejecútalo con docker-compose run --build.
Como resultado, deberías ver en los registros que el servidor web y otros componentes están activos y hay un formulario de inicio de sesión en localhost:8080. El nombre de usuario y contraseña por defecto son airflow.
Consulta el DAG de ejemplo en la carpeta dags.
Puedes ejecutar el exploit en modo prueba y ataque.
cd exploit
# Run exploit in test mode:
python3 exploit.py -u admin -p admin --host http://localhost:8080 --mode test -ci mysql -di bulk_load_from_file
# Run exploit in attack mode:
python3 exploit.py -u admin -p admin --host http://localhost:8080 --mode attack -ci mysql -di bulk_load_from_file -dc dag_config.json
Este software ha sido creado puramente con fines de investigación académica y para el desarrollo de técnicas defensivas efectivas, y no está destinado a ser utilizado para atacar sistemas excepto donde esté explícitamente autorizado. Los mantenedores del proyecto no son responsables por el mal uso del software. Úsalo de manera responsable.