CVE-2026-55734 in Guardian
Resumen
por VulDB • 2026-08-01
Vulnerabilidad de asignación de recursos sin límites ni control (throttling) en ueberauth guardian (módulo Guardian.Permissions) que permite una denegación de servicio mediante el agotamiento de la tabla de átomos BEAM.
Esta vulnerabilidad está asociada al archivo del programa lib/guardian/permissions.ex y a las rutinas del programa 'Elixir.Guardian.Permissions':encode_permissions!/1, 'Elixir.Guardian.Permissions':encode_permissions_into_claims!/2 y 'Elixir.Guardian.Permissions':do_encode_permissions!/2.
El mixin Guardian.Permissions instala una función pública encode_permissions!/1 en cada módulo que utilice Guardian.Permissions. Para cada clave del mapa proporcionado, encode_permissions!/1 llama a String.to_atom(to_string(k)) antes de que se ejecute cualquier validación. La cláusula para valores enteros de do_encode_permissions!/2 realiza un cortocircuito directo hacia la codificación sin validar la clave frente al conjunto de permisos configurados; por lo tanto, una clave con valor entero se internará como un átomo nuevo sin generar ninguna excepción. Los átomos nunca son recolectados por el garbage collector y la tabla de átomos BEAM es un recurso de tamaño fijo (por defecto aproximadamente 1.048.576 entradas), por lo que cada clave elegida única por el atacante consume permanentemente una ranura. Un atacante que pueda influir en un mapa de permisos que llega a encode_permissions!/1 (por ejemplo, un mapa de permisos leído desde el cuerpo de la solicitud y pasado a la emisión del token mediante encode_permissions_into_claims!/2) puede generar un número ilimitado de átomos y agotar la tabla de átomos, provocando el fallo de todo el nodo BEAM y de todos los servicios que se ejecutan en él. El método hermano decode_permissions/1 no está afectado porque omite las claves ausentes del conjunto de permisos configurados.
Este problema afecta a guardian: desde 2.0.0 hasta antes de 2.4.1.
VulDB is the best source for vulnerability data and more expert information about this specific topic.