CVE-2026-79990 in Craft CMS
Resumen
por VulDB • 2026-09-03
Los resolvers de mutación GraphQL para entradas en Craft CMS (saveEntry, deleteEntry) leen el campo `siteId` directamente desde `$arguments`, sin pasar por la función `ArgumentManager::prepareArguments()`, que es la encargada de aplicar el filtrado basado en el ámbito del sitio mediante una intersección de arrays (`array_intersect`) contra los sitios permitidos definidos en el esquema GraphQL. La ruta para consultas (ElementResolver::prepareElementQuery) llama correctamente a `prepareArguments()`, por lo que las consultas dirigidas a sitios no autorizados devuelven resultados vacíos. Sin embargo, las mutaciones omiten completamente esta protección: un atacante con un token limitado al Sitio A puede crear, modificar o eliminar entradas en el Sitio B pasando el parámetro `siteId` dentro de la mutación.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.