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

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

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 controlada por el atacante.<br /> <br /> Guardian.Permissions.AtomEncoding codifica los ámbitos de permiso pasando binarios arbitrarios a String.to_atom/1. Cuando se llama a encode/3 en lib/guardian/permissions/atom_encoding.ex con una lista, cada entrada binaria es manejada por la cláusula binaria encode_value/3, que llama a String.to_atom(value) sin una verificación de lista de permitidos. El argumento perm_set (el conjunto pequeño y finito de nombres de permiso legítimos de la aplicación) se descarta, por lo que cualquier cadena externa fluye directamente a la creación de átomos. Este codificador se selecciona con use Guardian.Permissions, encoding: Guardian.Permissions.AtomEncoding y se alcanza a través del punto de entrada importado encode/3.<br /> <br /> String.to_atom/1 crea un átomo completamente nuevo para cada binario no visto previamente, 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 canaliza ámbitos de permiso influenciados por el atacante (desde un cuerpo de solicitud, una declaración JWT u otra entrada externa) en encode/3, 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 con system_limit, derribando todas las aplicaciones que se ejecutan en él.<br /> <br /> El codificador predeterminado es Guardian.Permissions.BitwiseEncoding, el cual no se ve afectado.<br /> <br /> Este problema afecta a guardian: desde la versión 2.0.0 hasta antes de la 2.4.1.

Productos y versiones vulnerables

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