GHSA-x2rp-9qf7-2fmq CVE-2026-107842
Contao: Protected page content is disclosed to anonymous visitors after contao.search.index_protected is disabled
- Severity
- 5.3 / 10
- Medium · CVSS 3.1
- Exploit chance (EPSS)
- 0.26%
- Chance of exploitation in the next 30 days. Higher than 18.10% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
- Fix
5.3.50- Upgrade contao/core-bundle to this version or later
Description
ModuleSearch decides whether to filter protected pages out of search results based on the current value of contao.search.index_protected, but the authorisation data lives per row in tl_search. Turning the setting off removes
the filter without removing the rows, so protected pages that were indexed while it was on are returned to unauthenticated visitors such as title, URL and context snippet, even though the pages themselves still answer 401.
Impact
Disclosure of member-only page titles, URLs and indexed text to unauthenticated visitors through the site search. The pages themselves remain access-controlled, so this is not a page-access bypass.
Credits
This security vulnerability was found by @iRevivalx .
Affected versions
Packagist
| Package | Vulnerable | Fixed in |
|---|---|---|
| contao/core-bundle | >= 4.0.0, < 5.3.50 |
5.3.50 |
| contao/core-bundle | >= 5.4.0-RC1, < 5.7.12 |
5.7.12 |
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
contao/core-bundle Packagist → 5.3.50
- composer
composer require contao/core-bundle:^5.3.50
Severity breakdown
CVSS 3.1 5.3
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
Weakness
CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
How to prevent it
- Architecture and Design: Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.
References
Packages
Other links
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-9ff2-p842-45wq Contao: Cross-site request forgery in custom backend actions | Low | Also affects contao/core-bundle |
| GHSA-q6wp-fr43-gm9v Contao: Improper access control in the preview links module | Medium | Also affects contao/core-bundle |
| GHSA-5974-gfqc-wrcm Contao: Improper access control in the table access voter | Medium | Also affects contao/core-bundle |
| GHSA-mrvp-7wmx-5m4h Contao: Path traversal in the images controller | Medium | Also affects contao/core-bundle |
| GHSA-mfxh-vp55-7gc6 Contao: The registration module re-sends activation mails | Medium | Also affects contao/core-bundle |
| GHSA-grm4-wm43-9jh5 Contao: Possible path traversal in job download URIs | Low | Also affects contao/core-bundle |
| GHSA-87mg-5grr-rhwh Contao: Server-Side Request Forgery (SSRF) via Unvalidated RSS Feed URL in Feed Reader Module | Low | Also affects contao/core-bundle |
| GHSA-3mr9-p497-58f6 Contao crawler leaks auth credentials to external hosts | Low | Also affects contao/core-bundle |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor