CVE-2026-79990 in Craft CMS
Riassunto
di VulDB • 02/09/2026
I resolver delle mutation GraphQL per gli entry di Craft CMS (saveEntry, deleteEntry) leggono direttamente il parametro `siteId` da `$arguments`, senza passare attraverso la funzione `ArgumentManager::prepareArguments()`. Questa è la funzione che applica il filtro basato sullo scope del sito tramite un'operazione `array_intersect` rispetto ai siti consentiti nello schema GraphQL. Il percorso delle query (ElementResolver::prepareElementQuery) chiama correttamente `prepareArguments()`, quindi le query rivolte a siti non autorizzati restituiscono risultati vuoti. Le mutation, tuttavia, bypassano completamente questa protezione: un attaccante con un token limitato allo scope del Sito A può creare, modificare o eliminare entry nel Sito B passando il parametro `siteId` all'interno degli argomenti della mutation.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.