All vulnerabilities
CVE-2026-107848GHSA-9ff2-p842-45wq

contao/core-bundle: Contao: Cross-site request forgery in custom backend actions

contao contao/core-bundlecomposerLibraries & packages
CVSS
3.5Low
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.11%Chance of exploitation activity in the next 30 days, higher than 1% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in5.3.50Also 5.7.12GitHub
Published9 Oct 2026Updated 13 Oct 2026CVE List

What fixes it

  • 5.3.50contao/core-bundle, composerGitHubcomposer require "contao/core-bundle:^5.3.50"
  • 5.7.12contao/core-bundle, composerGitHubcomposer require "contao/core-bundle:^5.7.12"
  • 5.3.50contao/core-bundle, PackagistOSVcomposer require "contao/core-bundle:^5.3.50"
  • 5.7.12contao/core-bundle, PackagistOSVcomposer require "contao/core-bundle:^5.7.12"

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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.

Impact

An 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.

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.

Text from GitHub Advisory Database

Affected versions 106

  • contao/core-bundle, composer>= 4.0.0, < 5.3.50GitHub
  • contao/core-bundle, composer>= 5.4.0-RC1, < 5.7.12GitHub
  • contaoaffected: >= 4.0.0, < 5.3.50CVE List
  • contaoaffected: >= 5.4.0-RC1, < 5.7.12CVE List
  • contao/core-bundle, Packagistfrom 4.0.0, fixed in 5.3.50OSV
  • contao/core-bundle, Packagist4.0.0OSV
  • contao/core-bundle, Packagist4.0.1OSV
  • contao/core-bundle, Packagist4.0.2OSV
  • contao/core-bundle, Packagist4.0.3OSV
  • contao/core-bundle, Packagist4.0.4OSV
  • contao/core-bundle, Packagist4.1.0OSV
  • contao/core-bundle, Packagist4.1.0-RC1OSV
  • contao/core-bundle, Packagist4.1.0-beta1OSV
  • contao/core-bundle, Packagist4.1.1OSV
  • contao/core-bundle, Packagist4.1.2OSV
  • contao/core-bundle, Packagist4.1.3OSV
  • contao/core-bundle, Packagist4.10.0OSV
  • contao/core-bundle, Packagist4.10.0-RC1OSV
  • contao/core-bundle, Packagist4.10.0-RC2OSV
  • contao/core-bundle, Packagist4.10.0-RC3OSV
  • contao/core-bundle, Packagist4.10.0-RC4OSV
  • contao/core-bundle, Packagist4.10.1OSV
  • contao/core-bundle, Packagist4.10.2OSV
  • contao/core-bundle, Packagist4.10.3OSV
  • contao/core-bundle, Packagist4.10.4OSV
  • contao/core-bundle, Packagist4.10.5OSV
  • contao/core-bundle, Packagist4.10.6OSV
  • contao/core-bundle, Packagist4.10.7OSV
  • contao/core-bundle, Packagist4.11.0OSV
  • contao/core-bundle, Packagist4.11.0-RC1OSV
  • contao/core-bundle, Packagist4.11.0-RC2OSV
  • contao/core-bundle, Packagist4.11.1OSV
  • contao/core-bundle, Packagist4.11.2OSV
  • contao/core-bundle, Packagist4.11.3OSV
  • contao/core-bundle, Packagist4.11.4OSV
  • contao/core-bundle, Packagist4.11.5OSV
  • contao/core-bundle, Packagist4.11.6OSV
  • contao/core-bundle, Packagist4.11.7OSV
  • contao/core-bundle, Packagist4.11.8OSV
  • contao/core-bundle, Packagist4.11.9OSV
  • contao/core-bundle, Packagist4.12.0OSV
  • contao/core-bundle, Packagist4.12.0-RC1OSV
  • contao/core-bundle, Packagist4.12.0-RC2OSV
  • contao/core-bundle, Packagist4.12.0-RC3OSV
  • contao/core-bundle, Packagist4.12.1OSV
  • contao/core-bundle, Packagist4.12.2OSV
  • contao/core-bundle, Packagist4.12.3OSV
  • contao/core-bundle, Packagist4.12.4OSV
  • contao/core-bundle, Packagist4.12.5OSV
  • contao/core-bundle, Packagist4.12.6OSV
  • contao/core-bundle, Packagist4.12.7OSV
  • contao/core-bundle, Packagist4.13.0OSV
  • contao/core-bundle, Packagist4.13.0-RC1OSV
  • contao/core-bundle, Packagist4.13.0-RC2OSV
  • contao/core-bundle, Packagist4.13.0-RC3OSV
  • contao/core-bundle, Packagistfrom 5.4.0-RC1, fixed in 5.7.12OSV
  • contao/core-bundle, Packagist5.4.0OSV
  • contao/core-bundle, Packagist5.4.0-RC1OSV
  • contao/core-bundle, Packagist5.4.0-RC2OSV
  • contao/core-bundle, Packagist5.4.0-RC3OSV
  • contao/core-bundle, Packagist5.4.0-RC4OSV
  • contao/core-bundle, Packagist5.4.1OSV
  • contao/core-bundle, Packagist5.4.10OSV
  • contao/core-bundle, Packagist5.4.11OSV
  • contao/core-bundle, Packagist5.4.12OSV
  • contao/core-bundle, Packagist5.4.13OSV
  • contao/core-bundle, Packagist5.4.14OSV
  • contao/core-bundle, Packagist5.4.2OSV
  • contao/core-bundle, Packagist5.4.3OSV
  • contao/core-bundle, Packagist5.4.4OSV
  • contao/core-bundle, Packagist5.4.5OSV
  • contao/core-bundle, Packagist5.4.6OSV
  • contao/core-bundle, Packagist5.4.7OSV
  • contao/core-bundle, Packagist5.4.8OSV
  • contao/core-bundle, Packagist5.4.9OSV
  • contao/core-bundle, Packagist5.5.0OSV
  • contao/core-bundle, Packagist5.5.0-RC1OSV
  • contao/core-bundle, Packagist5.5.0-RC2OSV
  • contao/core-bundle, Packagist5.5.0-RC3OSV
  • contao/core-bundle, Packagist5.5.0-RC4OSV
  • contao/core-bundle, Packagist5.5.1OSV
  • contao/core-bundle, Packagist5.5.10OSV
  • contao/core-bundle, Packagist5.5.11OSV
  • contao/core-bundle, Packagist5.5.12OSV
  • contao/core-bundle, Packagist5.5.13OSV
  • contao/core-bundle, Packagist5.5.14OSV
  • contao/core-bundle, Packagist5.5.15OSV
  • contao/core-bundle, Packagist5.5.16OSV
  • contao/core-bundle, Packagist5.5.2OSV
  • contao/core-bundle, Packagist5.5.3OSV
  • contao/core-bundle, Packagist5.5.4OSV
  • contao/core-bundle, Packagist5.5.5OSV
  • contao/core-bundle, Packagist5.5.6OSV
  • contao/core-bundle, Packagist5.5.7OSV
  • contao/core-bundle, Packagist5.5.8OSV
  • contao/core-bundle, Packagist5.5.9OSV
  • contao/core-bundle, Packagist5.6.0OSV
  • contao/core-bundle, Packagist5.6.0-RC1OSV
  • contao/core-bundle, Packagist5.6.0-RC2OSV
  • contao/core-bundle, Packagist5.6.0-RC3OSV
  • contao/core-bundle, Packagist5.6.1OSV
  • contao/core-bundle, Packagist5.6.10OSV
  • contao/core-bundle, Packagist5.6.11OSV
  • contao/core-bundle, Packagist5.6.2OSV
  • contao/core-bundle, Packagist5.6.3OSV
  • contao/core-bundle, Packagist5.6.4OSV

References 4