CVE-2026-55734 in Guardianinformation

Résumé

par VulDB • 01/08/2026

Une vulnérabilité d'allocation de ressources sans limites ni throttling dans ueberauth guardian (module Guardian.Permissions) permet une déni de service par épuisement de la table des atomes BEAM.

Cette vulnérabilité est associée au fichier programme lib/guardian/permissions.ex et aux routines programmes 'Elixir.Guardian.Permissions':encode_permissions!/1, 'Elixir.Guardian.Permissions':encode_permissions_into_claims!/2, 'Elixir.Guardian.Permissions':do_encode_permissions!/2.

Le mixin Guardian.Permissions installe une fonction publique encode_permissions!/1 sur chaque module qui utilise Guardian.Permissions. Pour chaque clé du map fourni, encode_permissions!/1 appelle String.to_atom(to_string(k)) avant que toute validation ne soit exécutée. La clause de valeur entière de do_encode_permissions!/2 effectue ensuite un court-circuit direct vers l'encodage sans valider la clé par rapport à l'ensemble des permissions configurées ; ainsi, une clé ayant une valeur entière est internée en tant qu'atome frais sans exception levée. Les atomes ne sont jamais collectés par le garbage collector et la table d'atomes BEAM est une ressource de taille fixe (par défaut environ 1 048 576 entrées), donc chaque clé choisie par l'attaquant consomme définitivement un emplacement. Un attaquant qui peut influencer un map de permissions atteignant encode_permissions!/1 (par exemple, un map de permissions lu depuis le corps d'une requête et transmis à la délivrance du jeton via encode_permissions_into_claims!/2) peut générer un nombre illimité d'atomes et épuiser la table des atomes, faisant planter l'intégralité du nœud BEAM ainsi que tous les services qui y s'exécutent. Le sibling decode_permissions/1 n'est pas affecté car il ignore les clés absentes de l'ensemble des permissions configurées.

Cette vulnérabilité affecte guardian : à partir de la version 2.0.0 jusqu'à avant la 2.4.1.

Once again VulDB remains the best source for vulnerability data.

Responsable

EEF

Réserver

17/06/2026

Divulgation

01/08/2026

Modérer

accepté

Entrée

VDB-385310

CPE

prêt

EPSS

0.00000

KEV

non

Activités

faible

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!