Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en CodeQL (CVE-2024-25129)

Gravedad CVSS v3.1:
BAJA
Tipo:
CWE-611 Restricción incorrecta de referencia a entidad externa XML (XXE)
Fecha de publicación:
22/02/2024
Última modificación:
05/02/2025

Descripción

El repositorio de CodeQL CLI contiene archivos binarios para la interfaz de línea de comandos (CLI) de CodeQL. Antes de la versión 2.16.3, un analizador XML utilizado por la CLI de CodeQL para leer varios archivos auxiliares era vulnerable a un ataque de entidad externa XML. Si se utiliza una versión vulnerable de la CLI para procesar una base de datos CodeQL modificada maliciosamente o un conjunto especialmente preparado de fuentes de consulta QL, se puede hacer que la CLI realice una solicitud HTTP saliente a una URL que contenga material leído de un archivo local. elegido por el atacante. Esto puede resultar en una pérdida de privacidad o exfiltración de secretos. Los investigadores de seguridad y los autores de QL que reciben bases de datos o archivos fuente de QL de fuentes que no son de confianza pueden verse afectados. Un único archivo `.ql` o `.qll` que no sea de confianza no puede verse afectado, pero un archivo zip o tarball que contenga fuentes QL puede descomprimir archivos auxiliares que desencadenarán un ataque cuando CodeQL los vea en el sistema de archivos. Aquellos que usan CodeQL para análisis rutinarios de árboles fuente con un conjunto preseleccionado de consultas confiables no se ven afectados. En particular, extraer archivos XML de un árbol fuente a la base de datos CodeQL no lo hace vulnerable. El problema se solucionó en la versión 2.16.3 de CodeQL CLI. Además de actualizar, los workarounds incluyen no aceptar bases de datos CodeQL o consultas de fuentes no confiables, o solo procesar dicho material en una máquina sin conexión a Internet. Los clientes que utilicen versiones anteriores de CodeQL para el escaneo de seguridad en un sistema de CI automatizado y no puedan actualizar por motivos de cumplimiento pueden continuar usando esa versión. Ese caso de uso es seguro. Si dichos clientes tienen un paquete de consultas privado y usan el comando "codeql pack create" para precompilarlos antes de usarlos en el sistema CI, deberían usar la versión de producción de CodeQL para ejecutar "codeql pack create". Ese comando es seguro siempre que se confíe en la fuente QL que precompiló. Todos los demás desarrollos del paquete de consultas deben utilizar una CLI actualizada.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:github:codeql_cli:*:*:*:*:*:*:*:* 2.16.3 (excluyendo)