Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain Author-level credentials
-
DeliveryAuthenticate to Typemill API
-
ExploitSend getPageMedia request with empty folder and ../ path
-
ExecutionBypass Storage::getFolderPath() checks
-
PersistRead arbitrary file via Storage::getFile()
-
ImpactHarvest secrets/hashes for escalation
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 | Requires a valid Author-level (or higher) Typemill account and network reachability to the Typemill admin/API surface on a vulnerable instance running a version prior to 2.24.0. The specific trigger is a request to the ControllerApiImage::getPageMedia code path (Storage::getFile()) where the folder argument is empty and the path query parameter contains traversal sequences, which bypasses the sanitization in Storage::getFolderPath(). No user interaction by another victim is needed and the attack is fully automatable, but exploitation is bounded by the authentication requirement and by filesystem permissions of the PHP process - files unreadable by the webserver user remain inaccessible. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N) accurately captures a network-reachable, low-complexity authenticated read primitive with high confidentiality impact and no integrity or availability impact, scoring 7.1. PR:L is honest because the description explicitly requires Author-level credentials, which substantially limits the population of viable attackers versus an unauthenticated RCE. There is no EPSS score, KEV listing, or public POC in the provided intelligence, so this is best treated as a credentialed information-disclosure bug rather than a mass-exploitation candidate - but for any Typemill instance that allows self-registration of authors or shares author credentials broadly, the practical risk is meaningful because an attacker can pivot to read /etc/passwd, configuration files containing secrets, or the users database to escalate further. |
| Exploit ScenarioDerived | An attacker who obtains or self-registers an Author-level account (for example on a Typemill site with open author signup or via a phished/reused credential) logs in, then issues an authenticated API request to the page-media endpoint with folder= empty and path=../../../../etc/passwd (or path traversal to the site's settings YAML containing API keys and the user database). The server resolves the file outside the content directory and returns its contents, giving the attacker offline-crackable password hashes or secrets to escalate to admin or pivot to other services; no public exploit identified at time of analysis, but the bug class is well understood and trivially reproducible from the description. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 17, 2026
Arbitrary file read in Typemill before 2.24.0 allows authenticated Author-level users to traverse outside the content directory by injecting traversal sequences in the path query parameter when the folder argument is empty, defeating sanitization in Storage::getFolderPath(). Reported by VulnCheck with a vendor patch shipped in 2.24.0/2.24.2; no public exploit identified at time of analysis, and the CVSS 4.0 base score of 7.1 reflects high confidentiality impact with low-privilege network access.
RemediationAI
Upgrade to Typemill 2.24.0 or, preferably, 2.24.2 which bundles this fix together with patches for password-reset poisoning, 2FA brute force, and unique-user issues (release notes at https://github.com/typemill/typemill/releases/tag/v2.24.2; fix commit bfbb27001acd5c56ad62166dbefe6a59798cf1c0). If immediate patching is not possible, restrict who can hold Author-level accounts (disable open registration, audit and rotate existing Author credentials), and front the Typemill admin/API with a reverse-proxy rule that blocks requests to the page-media API endpoint or rejects path query parameters containing ../, .., or URL-encoded variants (%2e%2e, ..%2f) - note that blocking the media API will break legitimate image management in the editor, so this is a stopgap. Additionally, run the PHP process under a least-privileged OS user with filesystem ACLs that deny read access to system files and other webroots, limiting the blast radius of any residual traversal.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Typemill is a PHP-based flat-file CMS where content and media are stored on the filesystem and brokered through a Storage class. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory): Storage::getFolderPath() implements traversal-prevention checks, but Storage::getFile() can be invoked via a controller API (the ControllerApiImage::getPageMedia path referenced in VulnCheck's advisory) with an empty folder argument, allowing crafted ../ sequences in the path parameter to escape the intended content/media directory. The affected CPE is cpe:2.3:a:typemill:typemill:*:*:*:*:*:*:*:* up to 2.24.0, and the upstream fix is commit bfbb27001acd5c56ad62166dbefe6a59798cf1c0 included in the v2.24.2 release.
Know when Typemill 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable API with Author-level auth required (PR:L), no user interaction, deterministic traversal (AC:L); arbitrary file read yields high confidentiality only, no integrity or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Typemill before 2.24.0 contains a path traversal vulnerability that allows authenticated attackers with Author-level privileges to read arbitrary files outside the content directory by supplying traversal sequences in the path query parameter passed to Storage::getFile() with an empty folder argument. Attackers can bypass traversal-prevention controls in Storage::getFolderPath() to access sensitive files.
Executive ViewAI
Typemill versions prior to 2.24.0 contain an arbitrary file read vulnerability allowing authenticated Author-level users to bypass access controls and read sensitive files outside the application's content directory. This confidentiality risk affects organizations using Typemill with multiple authors, where basic content-editing privileges could be leveraged to access server files inappropriately. No public exploit has been identified at time of analysis, but vendor patches are available.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Affected Products (CPE)CVE.org
Typemill v1.5.3 was discovered to contain an arbitrary file upload vulnerability via the upload function. Rated high sev
Reflected XSS in Typemill's login error page allows unauthenticated attackers to inject malicious scripts by crafting re
Credential brute-forcing against Typemill CMS (versions up to and including 2.25.0) is possible because its primary pass
Stored HTML attribute injection in Typemill versions prior to 2.23.0 allows authenticated content editors to embed arbit
Persistent XSS in Typemill CMS 2.x enables authenticated users holding theme-configuration access to store malicious Jav
Stored cross-site scripting in the Typemill flat-file CMS through 2.26.0 allows an authenticated user with media/image u
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB