Arbitrary file read in Craft CMS through Twig create() DOMDocument
Key facts
- Attack vector
- Network
- Privileges required
- High
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-200.
Summary
Craft CMS 4.0.0 before 4.18.7 and 5.0.0 before 5.10.14 contains an arbitrary file read flaw because the Twig create() class blocklist does not cover DOMDocument (CWE-200). An attacker with high privileges who can set an entry type title format can expose local file contents to non-admin users who can view entries.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
Craft CMS 4.0.0 before 4.18.7 and 5.0.0 before 5.10.14 contains an arbitrary file read vulnerability because the Twig create() class blocklist does not cover DOMDocument. Attackers able to set an entry-type title format, including via project-config/apply, can use create('DOMDocument').loadHTMLFile() with textContent to expose local file contents to non-admin users who can view entries.
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
Remediation
Update Craft CMS 4.x to 4.18.7 and Craft CMS 5.x to 5.10.14.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA cms (craftcms) Fixed in 4.18.7
- Fix · CNA cms (craftcms) Fixed in 5.10.14
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
craftcms cms 5.10.14
5 records Highest priority Priority MEDIUM 2 MEDIUM, 3 LOW
Other records, highest priority first
- TI-2026-71124 Craft CMS behavior injection enables remote code executionPriority MEDIUM 40
- TI-2026-71121 Twig sandbox bypass in Craft CMS allows code execution via has somePriority MEDIUM 40
- TI-2026-71122 Missing authorization in Craft CMS lets users downgrade site editionPriority LOW 26
- Release ·
craftcms cms 4.18.7
2 records Highest priority Priority MEDIUM 1 MEDIUM, 1 LOW
Other records, highest priority first
- TI-2026-71124 Craft CMS behavior injection enables remote code executionPriority MEDIUM 40
Timeline
- 2026-10-12 Threatist record created from CVE-2026-109304
- 2026-10-12 Alias added: GHSA-52mh-mf22-cc6j
- 2026-10-13 Priority changed: MEDIUM → LOW
- 2026-10-13 CISA SSVC decision points changed
References
More Craft CMS vulnerabilities
- TI-2025-23503 Craft CMS Allows Remote Code Execution KEVCVSS 3.1CRITICAL 10.0
- TI-2024-37138 RCE when PHP `register_argc_argv` config setting is enabled in craftcms/cms KEVCVSS 4.0CRITICAL 9.3
- TI-2025-16994 Potential RCE with a compromised security key in craft/cms KEVCVSS 3.1HIGH 8.1
- TI-2025-24595 Craft CMS stores user-provided content in session files KEVCVSS 4.0MEDIUM 6.9
- TI-2023-22284 Craft CMS Remote Code Execution vulnerability CVSS 3.1CRITICAL 10.0
- TI-2024-25171 Craft CMS up to v3.7.31 was discovered to contain a SQL injection vulnerability via the GraphQL API endpoint. CVSS 3.1CRITICAL 9.8
Sources
- CVE-2026-109304 · CVE Program
- CVE-2026-109304 · NVD
- FIRST EPSS
- GHSA-52mh-mf22-cc6j · 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