Improper access control in Contao preview links module
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
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| contao | contao | 5.7.1 to before 5.7.12 | 5.7.12 | Patch available | CNA |
| — | contao/core-bundle (Packagist) | 5.7.1 to before 5.7.12 | 5.7.12 | Patch available | GHSA-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
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
- 2026-10-10 Threatist record created from CVE-2026-107850
- 2026-10-10 Alias added: GHSA-q6wp-fr43-gm9v
- 2026-10-10 Fix available: Packagist/contao/[email protected] · GHSA-q6wp-fr43-gm9v
- 2026-10-10 CVSS score added · GHSA-q6wp-fr43-gm9v
- 2026-10-10 Weakness changed · GHSA-q6wp-fr43-gm9v
- 2026-10-10 4 new references · GHSA-q6wp-fr43-gm9v
- 2026-10-13 CISA SSVC decision points changed
References
More contao vulnerabilities
- 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
Sources
- CVE-2026-107850 · CVE Program
- CVE-2026-107850 · NVD
- FIRST EPSS
- GHSA-q6wp-fr43-gm9v · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences