Read the docs

Improper access control in Contao preview links module

Priority LOW 19CWE-639Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
Low · None · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-639.

Summary

Contao from 5.7.1 before 5.7.12 registers its preview access voter under the wrong class name, so the ownership check never runs. A non-admin backend user with the preview_link module can list other users' preview links and use their share URLs to view unpublished pages without page permission.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

Contao is an Open Source CMS. From version 5.7.1 until 5.7.12, core-bundle/config/services.yaml registers the preview access voter as Contao\CoreBundle\Security\Voter\DataContainer\PreviewAccessVoter although the shipped class is PreviewVoter. Symfony therefore omits voter autoconfiguration and removes the private service, so PreviewVoter::hasAccess() never enforces ownership. A non-admin backend user with the preview_link module can list every tl_preview_link record, obtain signed share URLs created by other users, and use them to view unpublished pages with showUnpublished despite lacking page permission. The advisory does not establish editing or deletion of foreign links. This issue is fixed in version 5.7.12.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00193 9th percentileScored 2026-11-07
Fix Fixed contao (contao): 5.7.12contao/core-bundle (Packagist): 5.7.12

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
contaocontao5.7.1 to before 5.7.125.7.12Patch availableCNA
—contao/core-bundle (Packagist)5.7.1 to before 5.7.125.7.12Patch availableGHSA-q6wp-fr43-gm9v
  • contao Vendorcontao Affected 5.7.1 to before 5.7.12 Fixed in 5.7.12 Patch available CNA
  • contao/core-bundle (Packagist) Vendor— Affected 5.7.1 to before 5.7.12 Fixed in 5.7.12 Patch available GHSA-q6wp-fr43-gm9v

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:contao:contao:*:*:*:*:*:*:*:*——contao
  • cpe:2.3:a:contao:contao:*:*:*:*:*:*:*:* Versions — — ·contao

Remediation

Update contao/core-bundle to version 5.7.12. The sources list no fixed version for contao.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA contao (contao) Fixed in 5.7.12
  • Fix · GHSA-q6wp-fr43-gm9v contao/core-bundle (Packagist) Fixed in 5.7.12 Advisory →

Timeline

  1. 2026-10-10 Threatist record created from CVE-2026-107850
  2. 2026-10-10 Alias added: GHSA-q6wp-fr43-gm9v
  3. 2026-10-10 Fix available: Packagist/contao/[email protected] · GHSA-q6wp-fr43-gm9v
  4. 2026-10-10 CVSS score added · GHSA-q6wp-fr43-gm9v
  5. 2026-10-10 Weakness changed · GHSA-q6wp-fr43-gm9v
  6. 2026-10-10 4 new references · GHSA-q6wp-fr43-gm9v
  7. 2026-10-13 CISA SSVC decision points changed

References

  • TI-2022-09661 Contao Managed Edition v1.5.0 was discovered to contain a remote command execution (RCE)… CVSS 3.1CRITICAL 9.8
  • TI-2024-30849 Unrestricted file upload in Contao CVSS 3.1MEDIUM 6.4
  • TI-2023-18600 Contao cross site scripting vulnerability via input unit widget CVSS 3.1MEDIUM 6.5
  • TI-2014-01453 Contao CMS through 3.2.4 has PHP Object Injection Vulnerabilities CVSS 3.1CRITICAL 9.8
  • TI-2022-08709 Cross site scripting via canonical tag CVSS 3.1HIGH 7.2
  • TI-2019-08602 Contao 4.x allows SQL Injection. CVSS 3.0CRITICAL 9.8
See all 52 →

Sources