CVE-2026-115448 Recursión sin límites en la serialización de snapshots de Apache ZooKeeper
Una recursión no controlada en Apache ZooKeeper hace que el servidor serialice su árbol de datos a un snapshot con un marco de pila por nivel de znode y sin límite de profundidad. Un cliente autorizado a crear znodes, con la ACL raíz abierta por defecto, puede construir una cadena lo bastante profunda para agotar la pila de la JVM y matar el hilo de snapshot; la denegación de servicio se vuelve persistente porque el servidor falla de nuevo al reconstruir el árbol desde el log de transacciones al reiniciar. Afecta…
CVSS 4.0
- Probabilidad de explotación · EPSS del 09/110,6 % · percentil 49
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
Apache Software Foundation Apache ZooKeeper
desde 3.9.0 hasta 3.9.6desde 3.8.0 hasta 3.8.7
Qué hacer
- Verificá si usás Apache ZooKeeper y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 4.0 · 8.7 ALTA
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Requisitos del ataqueNinguno
- Privilegios requeridosNinguno
- Interacción del usuarioNinguna
- Confidencialidad (sistema vulnerable)Ninguna
- Integridad (sistema vulnerable)Ninguna
- Disponibilidad (sistema vulnerable)Alta
- Confidencialidad (sistemas posteriores)Ninguna
- Integridad (sistemas posteriores)Ninguna
- Disponibilidad (sistemas posteriores)Ninguna
Descripción original
Uncontrolled recursion in Apache ZooKeeper. The server serializes its data tree to a snapshot by recursing one stack frame per znode level, with no depth bound. A client permitted to create znodes (the default root ACL is open) can build a chain of nested znodes deep enough that taking a snapshot exhausts the JVM stack and kills the snapshot thread; sizes stay within jute.maxbuffer, so existing limits do not prevent it. This is a denial of service that becomes persistent: on restart the server rebuilds the deep tree from its transaction log and fails again while taking the startup snapshot, so it does not return to service, and recovery can entail data loss. The same log affects a leader and its followers, so it can spread across an ensemble.
This issue affects Apache ZooKeeper 3.8.0 through 3.8.7 and 3.9.0 through 3.9.6. Users are recommended to upgrade to 3.8.8 or 3.9.7, which fix the issue. As a workaround, use ACLs and authentication to restrict znode creation rather than relying on the default open root ACL.
Referencias (2)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.