Skip to main content

Contao CMS CVE-2026-55825

| EUVDEUVD-2026-51620 LOW
Path Traversal (CWE-22)
2026-07-31 GitHub_M GHSA-grm4-wm43-9jh5
3.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to Contao backend
  2. Delivery
    Identify victim job UUID through legitimate access or disclosure
  3. Exploit
    Craft attachment identifier with ../ traversal to victim job directory
  4. Execution
    Submit download request using own job UUID as route parameter
  5. Persist
    VirtualFilesystem resolves combined path within mount
  6. Impact
    Receive victim job attachment file

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an active, authenticated Contao backend session - the attacker must be a registered backend user with at minimum access to one job record; unauthenticated or frontend-only users cannot exploit this. The attacker must also independently know the UUID v4 identifier of the target victim job directory, as the description explicitly confirms that brute-force against unknown UUIDs is not practical (122-bit random space). The vulnerability is confined to the job attachment download endpoint and can only expose files stored within the var/job-attachments virtual filesystem mount - files outside this mount are unreachable. Limiting factors: (1) backend authentication required (PR:L); (2) victim job UUID must be known in advance (AC:H); (3) impact is bounded to the job-attachments filesystem namespace with no integrity or availability consequences.

Impact

The CVSS 3.1 base score of 3.1 (Low) is consistent with the actual threat model: the attack vector is network (AV:N) but complexity is High (AC:H) because the attacker must know the UUID v4 identifier of a victim job - a 122-bit random value that is not practically brute-forceable. Low privileges (PR:L) are required, meaning an unauthenticated actor cannot exploit this. The confidentiality impact is Low (C:L), restricted to files stored in var/job-attachments; there is no integrity or availability impact. No EPSS data was provided in the available intelligence, so exploitation probability cannot be quantified numerically. There is no CISA KEV listing and no known public exploit, making this a theoretical risk rather than an operationally observed threat. The realistic concern is a malicious insider or a compromised backend account performing horizontal privilege escalation to access another job's attachment files. This is not a remote-unauthenticated critical flaw - defenders with controlled backend user rosters face minimal exposure.

Exploit ScenarioDerived

An authenticated Contao backend user with legitimate access to their own job crafts an attachment download request, replacing the normal attachment identifier with a traversal string such as ../victim-job-uuid/debug_log.csv. The controller validates the request against the attacker's own job UUID and passes authorization, then resolves the combined path to victim-job-uuid/debug_log.csv within the var/job-attachments mount. The attacker receives the victim job's attachment file without authorization, enabling horizontal data exfiltration across job records within the same Contao installation.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 31, 2026

Cross-job file read in Contao CMS 5.7.0-5.7.6 allows authenticated backend users to exfiltrate job attachments belonging to other jobs by injecting path traversal sequences into the attachment identifier parameter. The job attachment download controller authorizes only the jobUuid route parameter, then constructs the actual file path by joining that authorized UUID with the attacker-supplied identifier; Contao's VirtualFilesystem::resolve() canonicalizes the combined path but rejects only escapes from the filesystem mount, not cross-job traversals within the mount. No public exploit has been identified at time of analysis, and the CVSS 3.1 Low score of 3.1 reflects meaningful exploitation barriers: backend authentication and prior knowledge of a victim job UUID are both required.

RemediationAI

The primary remediation is to upgrade Contao CMS to a version beyond 5.7.6 as directed by the vendor security advisory at https://github.com/contao/contao/security/advisories/GHSA-grm4-wm43-9jh5. The exact patched release version is not independently confirmed from available intelligence - consult that advisory for the precise fix version. As a compensating control where immediate upgrade is not feasible, restrict backend user role assignments so that only fully trusted personnel can access any job records, since exploitation is gated by backend authentication; reducing the number of backend users with job access minimizes the exploitable population. Additionally, review whether job attachment contents include sensitive data (e.g., CSV exports, debug logs) and consider limiting what is stored in var/job-attachments until the patch is applied. Note that access controls at the backend user level do not eliminate the underlying path-construction flaw - they only reduce the attacker pool.

Affected VersionsENISA

contao 5.7.0, < 5.7.7

Affected Packages

composer contao/contao fix: 5.7.7
composer contao/core-bundle fix: 5.7.7
euvd contao_5_7_0 fix: 5.7.7

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability affects Contao CMS 5.7.0-5.7.6 (CPE: cpe:2.3:a:contao:contao:*:*:*:*:*:*:*:*), an open-source PHP CMS. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory - Path Traversal). The job attachment download controller applies its authorization check exclusively to the jobUuid route parameter, then constructs the resolved file path by concatenating that authorized UUID with a separate, attacker-controlled attachment identifier. The combined string - e.g., authorized-job-uuid/../victim-job-uuid/debug_log.csv - is passed to VirtualFilesystem::resolve(), which canonicalizes the full path. Because the canonical result (victim-job-uuid/debug_log.csv) still falls within the var/job-attachments filesystem mount, VirtualFilesystem::resolve() accepts it without error, and the authorized-job check that preceded it is no longer meaningful. The design flaw is that path construction and authorization are decoupled: one parameter is authorized, a different parameter is used to locate the file.

Know when Contao gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 3.1 LOW
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 3.1 LOW

PR:L because backend authentication is mandatory; AC:H because victim UUID v4 must be known; C:L as only job-attachment files within the mount are exposed.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Jul 31, 2026 - 21:02 EUVD

DescriptionCVE.org

Contao is an Open Source CMS. In versions 5.7.0 through 5.7.6, an authenticated backend user who can access one job can request an attachment identifier containing ../ segments and make the job attachment download endpoint read a file from another job directory inside var/job-attachments. The controller authorizes only the jobUuid route parameter. The later attachment lookup joins that authorized job UUID with the attacker-controlled identifier, then passes the combined path to the virtual filesystem. VirtualFilesystem::resolve() canonicalizes the whole path and only rejects paths that escape the filesystem mount, so authorized-job/../victim-job/debug_log.csv becomes victim-job/debug_log.csv. This is a cross-job authorization bypass for known job attachment paths. It is not a practical brute-force against unknown jobs because job directories are UUID v4 values.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche PHP CMS, primarily deployed in German-speaking markets
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

16
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +16
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in Contao

View all
CVE-2022-26265 CRITICAL POC
9.8 Mar 18

Contao Managed Edition v1.5.0 was discovered to contain a remote command execution (RCE) vulnerability via the component

CVE-2012-1297 MEDIUM POC
6.8 Mar 19

Multiple cross-site request forgery (CSRF) vulnerabilities in main.php in Contao (formerly TYPOlight) 2.11.0 and earlier

CVE-2022-24899 MEDIUM POC
6.1 May 06

Contao is a powerful open source CMS that allows you to create professional websites and scalable web applications. Rate

CVE-2019-11512 CRITICAL
9.8 Jul 09

Contao 4.x allows SQL Injection. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable, no auth

CVE-2019-10643 CRITICAL
9.8 Apr 17

Contao 4.7 allows Use of a Key Past its Expiration Date. Rated critical severity (CVSS 9.8), this vulnerability is remot

CVE-2019-10641 CRITICAL
9.8 Apr 17

Contao before 3.5.39 and 4.x before 4.7.3 has a Weak Password Recovery Mechanism for a Forgotten Password. Rated critica

CVE-2024-45965 MEDIUM POC
5.4 Oct 02

Contao before 5.5.6 allows XSS via an SVG document. Rated medium severity (CVSS 5.4), this vulnerability is remotely exp

CVE-2023-36806 MEDIUM POC
5.4 Jul 25

Contao is an open source content management system. Rated medium severity (CVSS 5.4), this vulnerability is remotely exp

CVE-2026-107844 MEDIUM POC
5.3 Oct 09

Unauthenticated path traversal in the Contao CMS ImagesController lets remote attackers read files from the project dire

CVE-2026-107845 CRITICAL
9.3 Oct 09

Stored cross-site scripting in the Contao CMS comments bundle lets an unauthenticated visitor submit a comment whose ema

CVE-2026-107842 MEDIUM POC
5.3 Oct 09

Information disclosure in Contao CMS allows unauthenticated front-end visitors to read the titles, URLs, and indexed tex

CVE-2026-107843 MEDIUM POC
5.3 Oct 09

Unauthenticated email-flooding and user-enumeration in Contao CMS: a POST to any page containing the registration module

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy