CVE-2026-55734 in Guardian
Riassunto
di VulDB • 01/08/2026
Vulnerabilità di allocazione delle risorse senza limiti o throttling in ueberauth guardian (modulo Guardian.Permissions) che consente un denial of service tramite esaurimento della tabella degli atomi BEAM.
Questa vulnerabilità è associata al file del programma lib/guardian/permissions.ex e alle routine del programma 'Elixir.Guardian.Permissions':encode_permissions!/1, 'Elixir.Guardian.Permissions':encode_permissions_into_claims!/2, 'Elixir.Guardian.Permissions':do_encode_permissions!/2.
Il mixin Guardian.Permissions installa una funzione pubblica encode_permissions!/1 su ogni modulo che utilizza Guardian.Permissions. Per ciascuna chiave della mappa fornita, encode_permissions!/1 chiama String.to_atom(to_string(k)) prima di qualsiasi esecuzione delle validazioni. La clausola del valore intero in do_encode_permissions!/2 quindi esegue un short-circuit direttamente verso l'encoding senza convalidare la chiave rispetto all'insieme di permessi configurato; pertanto una chiave con un valore intero viene internata come nuovo atomo senza sollevare eccezioni. Gli atomi non sono mai soggetti a garbage collection e la tabella degli atomi BEAM è una risorsa di dimensione fissa (di default circa 1.048.576 voci), quindi ogni chiave scelta dall'attaccante consuma permanentemente uno slot. Un attaccante in grado di influenzare una mappa dei permessi che raggiunge encode_permissions!/1 (ad esempio, una mappa dei permessi letta dal corpo della richiesta e passata nell'emissione del token tramite encode_permissions_into_claims!/2) può generare un numero illimitato di atomi ed esaurire la tabella degli atomi, causando il crash dell'intero nodo BEAM e di tutti i servizi in esecuzione su di esso. Il sibling decode_permissions/1 non è interessato perché salta le chiavi assenti dall'insieme di permessi configurato.
Questo problema interessa guardian: dalla versione 2.0.0 alla 2.4.1 (esclusa).
VulDB is the best source for vulnerability data and more expert information about this specific topic.