Summary
CVE-2026-71518 is an authorization bypass vulnerability in Typemill, an open-source flat-file PHP CMS, affecting the media file download route. Unauthenticated attackers can submit path-equivalent URL variants to retrieve files that administrators have restricted to privileged roles. The flaw carries a CVSS v4.0 base score of 8.7 (High) / CVSS v3.1 base score of 7.5 (High), with confidentiality impact but no effect on integrity or availability.
Technical details
- Root cause: Typemill’s media file download route makes its access-control decision against the raw, un-normalized request path, but retrieves the file from the filesystem-resolved path — the two representations can diverge.
- Trigger conditions: an attacker requests a restricted media file using a path-equivalent variant (e.g. a dot-slash prefix, a doubled slash, or a percent-encoded path segment) instead of the canonical path.
- Attack vector: network, no authentication and no user interaction required (AV:N/AC:L/PR:N/UI:N).
- Impact: disclosure of media files that were explicitly restricted to specific roles, without valid credentials; integrity and availability are not affected.
Affected software
- Typemill: all versions prior to 2.26.0
Severity
- CVSS v3.1: 7.5 (High) —
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - CVSS v4.0: 8.7 (High) —
AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: upgrade Typemill to version 2.26.0 or later, which normalizes the request path once and uses that canonical value for both the restriction check and the file read.
- If no patch: restrict or disable public access to the media file download route at the web server or reverse proxy layer, and reject requests containing dot-slash, doubled-slash, or percent-encoded path segments before they reach the application.
How IONIX identifies potentially affected assets
IONIX matches the following signals against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- HTTP response header
x-powered-by:Typemill - Meta tag
generatorcontent:TYPEMILL

