Vulnerabilidad en Apache Hive (CVE-2024-23953)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
28/01/2025
Última modificación:
15/07/2025
Descripción
El uso de Arrays.equals() en LlapSignerImpl en Apache Hive para comparar firmas de mensajes permite a un atacante falsificar una firma válida para un mensaje arbitrario byte a byte. El atacante debe ser un usuario autorizado del producto para realizar este ataque. Se recomienda a los usuarios que actualicen a la versión 4.0.0, que soluciona este problema. El problema ocurre cuando una aplicación no utiliza un algoritmo de tiempo constante para validar una firma. El método Arrays.equals() devuelve falso de inmediato cuando ve que uno de los bytes de entrada es diferente. Significa que el tiempo de comparación depende del contenido de las matrices. Esta pequeña cosa puede permitir a un atacante falsificar una firma válida para un mensaje arbitrario byte a byte. Por lo tanto, podría permitir que los usuarios malintencionados envíen divisiones/trabajos con firmas seleccionadas a LLAP sin ejecutarse como un usuario privilegiado, lo que podría conducir a un ataque DDoS. Más detalles en la sección de referencia.
Impacto
Puntuación base 3.x
6.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:apache:hive:*:*:*:*:*:*:*:* | 2.2.0 (incluyendo) | 4.0.0 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://blog.gypsyengineer.com/en/security/preventing-timing-attacks-with-codeql.html
- https://cqr.company/web-vulnerabilities/timing-attacks/
- https://github.com/apache/hive
- https://github.com/apache/hive/commit/b418e3c9f479ba8e7d31e6470306111002ffa809
- https://issues.apache.org/jira/browse/HIVE-28030
- https://lists.apache.org/thread/0nloywj49nbtlc6l3c6363qvq7o1ztb7
- http://www.openwall.com/lists/oss-security/2025/01/28/3



