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

Vulnerabilidad en guardian de ueberauth (CVE-2026-54894)

Gravedad CVSS v4.0:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
01/08/2026
Última modificación:
23/10/2026

Descripción

La asignación de recursos sin límites ni estrangulamiento en ueberauth guardian permite la denegación de servicio a través de la creación ilimitada de átomos a partir de entrada binaria influenciada por el atacante.<br /> <br /> Guardian.Plug.Keys deriva claves de espacio de nombres de conexión y de sesión pasando binarios arbitrarios a String.to_atom/1. base_key/1 en lib/guardian/plug/keys.ex convierte cualquier binario en el átomo :“guardian_[input]”, y las funciones auxiliares derivadas claims_key/1, resource_key/1 y token_key/1 crean un segundo átomo además de eso. key_from_other/1 de manera similar convierte un binario capturado por regex a través de String.to_atom/1. Las especificaciones públicas anuncian String.t() como un argumento válido, por lo que pasar una cadena es un uso documentado, y los puntos de entrada de nivel superior, como Guardian.Plug.current_token(conn, key: key), pasan la clave proporcionada por el llamador directamente a estas funciones.<br /> <br /> String.to_atom/1 crea un átomo completamente nuevo para cada binario no visto anteriormente, los átomos nunca son recolectados por el recolector de basura, y la tabla de átomos de BEAM está fijada en aproximadamente 1.048.576 entradas por defecto. Una aplicación que enruta datos influenciados por el atacante (un identificador de inquilino, encabezado u otra entrada de solicitud) en una clave de Guardian, por lo tanto, acuña un átomo permanente por cada valor distinto. Un flujo modesto de entrada variada y no autenticada consume permanentemente la tabla de átomos y bloquea el nodo BEAM, derribando todas las aplicaciones que se ejecutan en él.<br /> <br /> Este problema afecta a guardian: desde 0.1.0 antes de 2.4.1.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:ueberauth:guardian:*:*:*:*:*:*:*:* 2.4.1 (excluyendo)