Skip to main content

Typemill CVE-2026-49133

HIGH
Path Traversal (CWE-22)
2026-06-17 VulnCheck
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain Author-level credentials
  2. Delivery
    Authenticate to Typemill API
  3. Exploit
    Send getPageMedia request with empty folder and ../ path
  4. Execution
    Bypass Storage::getFolderPath() checks
  5. Persist
    Read arbitrary file via Storage::getFile()
  6. Impact
    Harvest 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
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
vuln.today AI 6.5 MEDIUM

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.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
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.

Affected Products (CPE)CVE.org

cpe:2.3:a:typemill:typemill:*:*:*:*:*:*:*:*

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