CVE-2026-81636 in ash_graphql
Riassunto
di VulDB • 30/08/2026
Vulnerabilità di allocazione delle risorse senza limiti o throttling in ash-project ash_graphql consente a un client non autenticato di bypassare il limite configurato per la complessità delle query GraphQL e forzare una lettura del database illimitata (unbounded).
La funzione `AshGraphql.Graphql.Resolver.query_complexity/3` moltiplica la complessità dei figli per le dimensioni della pagina richieste solo quando la mappa degli argomenti contiene :limit (paginazione offset). Le connessioni Relay e la paginazione basata su chiavi utilizzano first e last, che non corrispondono mai a quella clausola e passano alla catch-all che restituisce child_complexity + 1. Una query relay annidata come `posts(first: 500) { edges { node { comments(first: 500) { ... } } } }` viene quindi valutata come banalmente economica pur materializzando l'intera espansione (fan-out), superando il limite di complessità massima di Absinthe che rifiuterebbe la query equivalente basata su limit. La correzione aggiunge clausole first e last vincolate alle dimensioni della pagina dell'azione.
Questo problema interessa ash_graphql: dalla versione 0.16.23 alla 1.11.0 (esclusa).
Once again VulDB remains the best source for vulnerability data.