{"id":"GHSA-9ff2-p842-45wq","summary":"Contao: Cross-site request forgery in custom backend actions","details":"`RequestTokenListener` is the only generic `REQUEST_TOKEN` validator in Contao and it only runs on POST. On the GET side the guard is local and declarative, and it only fires when an `act` parameter is present. Every back end action dispatched through a different parameter therefore has no CSRF protection at all. This is a family rather than a single bug.\n\n### Impact\n\nAn attacker who gets a logged in back end user to load a URL performs back end actions as that user, with no token and no confirmation. Because the exposure follows from the dispatch mechanism rather than from one callback, every present and future `key=` action inherits it.\n\n**Honest bound.** The victim must be authenticated in the back end and must load the URL, and the reachable actions are limited to the modules that user can access. We have not found a `key=` action that grants privileges; the ones we verified are destructive or state changing rather than escalating.","aliases":["CVE-2026-107848"],"modified":"2026-10-09T21:00:09.537235593Z","published":"2026-10-09T20:54:00Z","database_specific":{"github_reviewed_at":"2026-10-09T20:54:00Z","nvd_published_at":null,"cwe_ids":["CWE-352"],"severity":"LOW","github_reviewed":true},"references":[{"type":"WEB","url":"https://github.com/contao/contao/security/advisories/GHSA-9ff2-p842-45wq"},{"type":"WEB","url":"https://github.com/contao/contao/commit/34dd27ee6739f10568d3d95d8784862255c925b4"},{"type":"PACKAGE","url":"https://github.com/contao/contao"},{"type":"WEB","url":"https://github.com/contao/contao/releases/tag/5.7.12"}],"affected":[{"package":{"name":"contao/core-bundle","ecosystem":"Packagist","purl":"pkg:composer/contao/core-bundle"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"fixed":"5.3.50"}]}],"versions":["4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.1.0","4.1.0-RC1","4.1.0-beta1","4.1.1","4.1.2","4.1.3","4.10.0","4.10.0-RC1","4.10.0-RC2","4.10.0-RC3","4.10.0-RC4","4.10.1","4.10.2","4.10.3","4.10.4","4.10.5","4.10.6","4.10.7","4.11.0","4.11.0-RC1","4.11.0-RC2","4.11.1","4.11.2","4.11.3","4.11.4","4.11.5","4.11.6","4.11.7","4.11.8","4.11.9","4.12.0","4.12.0-RC1","4.12.0-RC2","4.12.0-RC3","4.12.1","4.12.2","4.12.3","4.12.4","4.12.5","4.12.6","4.12.7","4.13.0","4.13.0-RC1","4.13.0-RC2","4.13.0-RC3","4.13.1","4.13.10","4.13.11","4.13.12","4.13.13","4.13.14","4.13.15","4.13.16","4.13.17","4.13.18","4.13.19","4.13.2","4.13.20","4.13.21","4.13.22","4.13.23","4.13.24","4.13.25","4.13.26","4.13.27","4.13.28","4.13.29","4.13.3","4.13.30","4.13.31","4.13.32","4.13.33","4.13.34","4.13.35","4.13.36","4.13.37","4.13.38","4.13.39","4.13.4","4.13.40","4.13.41","4.13.42","4.13.43","4.13.44","4.13.45","4.13.46","4.13.47","4.13.48","4.13.49","4.13.5","4.13.50","4.13.51","4.13.52","4.13.53","4.13.54","4.13.55","4.13.56","4.13.57","4.13.58","4.13.6","4.13.7","4.13.8","4.13.9","4.2.0","4.2.0-RC1","4.2.0-beta1","4.2.1","4.2.2","4.2.3","4.2.4","4.2.5","4.3.0","4.3.0-RC1","4.3.1","4.3.10","4.3.11","4.3.2","4.3.3","4.3.4","4.3.5","4.3.6","4.3.7","4.3.8","4.3.9","4.4.0","4.4.0-RC1","4.4.0-RC2","4.4.0-beta1","4.4.1","4.4.10","4.4.11","4.4.12","4.4.13","4.4.14","4.4.15","4.4.16","4.4.17","4.4.18","4.4.19","4.4.2","4.4.20","4.4.21","4.4.22","4.4.23","4.4.24","4.4.25","4.4.26","4.4.27","4.4.28","4.4.29","4.4.3","4.4.30","4.4.31","4.4.32","4.4.33","4.4.34","4.4.35","4.4.36","4.4.37","4.4.38","4.4.39","4.4.4","4.4.40","4.4.41","4.4.42","4.4.43","4.4.44","4.4.45","4.4.46","4.4.47","4.4.48","4.4.49","4.4.5","4.4.50","4.4.51","4.4.52","4.4.53","4.4.54","4.4.55","4.4.56","4.4.57","4.4.6","4.4.7","4.4.8","4.4.9","4.5.0","4.5.0-RC1","4.5.0-RC2","4.5.0-beta1","4.5.0-beta2","4.5.0-beta3","4.5.1","4.5.10","4.5.11","4.5.12","4.5.13","4.5.14","4.5.2","4.5.3","4.5.4","4.5.5","4.5.6","4.5.7","4.5.8","4.5.9","4.6.0","4.6.0-RC1","4.6.0-RC2","4.6.0-RC3","4.6.1","4.6.10","4.6.11","4.6.12","4.6.13","4.6.14","4.6.2","4.6.3","4.6.4","4.6.5","4.6.6","4.6.7","4.6.8","4.6.9","4.7.0","4.7.0-RC1","4.7.0-RC2","4.7.0-RC3","4.7.0-RC4","4.7.1","4.7.2","4.7.3","4.7.4","4.7.5","4.7.6","4.7.7","4.8.0","4.8.0-RC1","4.8.0-RC2","4.8.1","4.8.2","4.8.3","4.8.4","4.8.5","4.8.6","4.8.7","4.8.8","4.9.0","4.9.0-RC1","4.9.0-RC2","4.9.1","4.9.10","4.9.11","4.9.12","4.9.13","4.9.14","4.9.15","4.9.16","4.9.17","4.9.18","4.9.19","4.9.2","4.9.20","4.9.21","4.9.22","4.9.23","4.9.24","4.9.25","4.9.26","4.9.27","4.9.28","4.9.29","4.9.3","4.9.30","4.9.31","4.9.32","4.9.33","4.9.34","4.9.35","4.9.36","4.9.37","4.9.38","4.9.39","4.9.4","4.9.40","4.9.41","4.9.42","4.9.5","4.9.6","4.9.7","4.9.8","4.9.9","5.0.0","5.0.0-RC1","5.0.0-RC2","5.0.0-RC3","5.0.0-RC4","5.0.1","5.0.10","5.0.2","5.0.3","5.0.4","5.0.5","5.0.6","5.0.7","5.0.8","5.0.9","5.1.0","5.1.0-RC1","5.1.0-RC2","5.1.0-RC3","5.1.1","5.1.10","5.1.11","5.1.2","5.1.3","5.1.4","5.1.5","5.1.6","5.1.7","5.1.8","5.1.9","5.2.0","5.2.0-RC1","5.2.0-RC2","5.2.0-RC3","5.2.0-RC4","5.2.0-RC5","5.2.0-RC6","5.2.1","5.2.10","5.2.2","5.2.3","5.2.4","5.2.5","5.2.6","5.2.7","5.2.8","5.2.9","5.3.0","5.3.0-RC1","5.3.0-RC2","5.3.0-RC3","5.3.0-RC4","5.3.1","5.3.10","5.3.11","5.3.12","5.3.13","5.3.14","5.3.15","5.3.16","5.3.17","5.3.18","5.3.19","5.3.2","5.3.20","5.3.21","5.3.22","5.3.23","5.3.24","5.3.25","5.3.26","5.3.27","5.3.28","5.3.29","5.3.3","5.3.30","5.3.31","5.3.32","5.3.33","5.3.34","5.3.35","5.3.36","5.3.37","5.3.38","5.3.39","5.3.4","5.3.40","5.3.41","5.3.42","5.3.43","5.3.44","5.3.45","5.3.46","5.3.47","5.3.48","5.3.49","5.3.5","5.3.6","5.3.7","5.3.8","5.3.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-9ff2-p842-45wq/GHSA-9ff2-p842-45wq.json"}},{"package":{"name":"contao/core-bundle","ecosystem":"Packagist","purl":"pkg:composer/contao/core-bundle"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.4.0-RC1"},{"fixed":"5.7.12"}]}],"versions":["5.4.0","5.4.0-RC1","5.4.0-RC2","5.4.0-RC3","5.4.0-RC4","5.4.1","5.4.10","5.4.11","5.4.12","5.4.13","5.4.14","5.4.2","5.4.3","5.4.4","5.4.5","5.4.6","5.4.7","5.4.8","5.4.9","5.5.0","5.5.0-RC1","5.5.0-RC2","5.5.0-RC3","5.5.0-RC4","5.5.1","5.5.10","5.5.11","5.5.12","5.5.13","5.5.14","5.5.15","5.5.16","5.5.2","5.5.3","5.5.4","5.5.5","5.5.6","5.5.7","5.5.8","5.5.9","5.6.0","5.6.0-RC1","5.6.0-RC2","5.6.0-RC3","5.6.1","5.6.10","5.6.11","5.6.2","5.6.3","5.6.4","5.6.5","5.6.6","5.6.7","5.6.8","5.6.9","5.7.0","5.7.0-RC1","5.7.0-RC2","5.7.0-RC3","5.7.0-RC4","5.7.1","5.7.10","5.7.11","5.7.2","5.7.3","5.7.4","5.7.5","5.7.6","5.7.7","5.7.8","5.7.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-9ff2-p842-45wq/GHSA-9ff2-p842-45wq.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N"}]}