CVE-2026-81633 in ash_graphql
Zusammenfassung
von VulDB • 30.08.2026
Eine Schwachstelle durch unzulässige Eingabevalidierung in ash-project ash_graphql ermöglicht es einem nicht authentifizierten Client, eine Relay-Node(id: ...)-Abfrage zum Absturz zu bringen, indem ein unbehandelter KeyError ausgelöst wird.
AshGraphql.Graphql.Resolver.resolve_node/2 decodiert die vom Client bereitgestellte globale ID mit decode_relay_id/1, was den String lediglich base64-decodiert und an Doppelpunkten splitet, ohne das Typsegment zu validieren. Der dekodierte Typ wird direkt an Map.fetch!(type_to_domain_and_resource_map, type) übergeben. Da fetch! bei einem fehlenden Schlüssel einen Fehler auslöst, führt eine Relay-ID, deren Typsegment ein gültiges Atom ist, aber kein relay-exponierter Typ, dazu, dass der Resolver abgebrochen wird, bevor die resolve/2-Klauseln und ihre rescue-Handler ausgeführt werden. Dadurch wird der Fehler nicht zu einem GraphQL-Fehler und kann möglicherweise einen Stacktrace offenlegen. Häufige Ressourcennamen sind leicht erratbar. Die Korrektur verwendet Map.fetch/2 und gibt für unbekannte Typen einen „Invalid node id“-Fehler zurück.
Dieses Problem betrifft ash_graphql: von Version 0.27.0 bis vor 1.11.0.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.