High severity · published Mar 12, 2026
CVE-2026-28791
Path Traversal in Media Upload Handle in Tina
7.4
CVSS
0.3%
EPSS
No
On KEV
Description
Tina is a headless content management system. Prior to 2.1.7, a path traversal vulnerability exists in the TinaCMS development server's media upload handler. The code at media.ts joins user-controlled path segments using path.join() without validating that the resulting path stays within the intended media directory. This allows writing files to arbitrary locations on the filesystem. This vulnerability is fixed in 2.1.7.
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H
Attack vector
Network
Complexity
High
Privileges
None
User interaction
None
Confidentiality
None
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 27% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
TI
tinacms · tinacms
< 2.1.7 · source: vendor
TI
Tinacms/cli · Ssw
before 2.1.7 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-28791
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-28791
Exploit
https://github.com/tinacms/tinacms/security/advisories/GHSA-5hxf-c7j4-279c
More from tinacms
9.3
CVE-2026-108261
TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment
8.8
CVE-2026-63506
Tina: [Broken Access Control] letting any TinaCloud user authorize against any self-hosted site
8.8
CVE-2026-34604
@tinacms/graphql's `FilesystemBridge` Path Validation Can Be Bypassed via Symlinks or Junctions
8.8
CVE-2025-68278
tinacms vulnerable to arbitrary code execution
8.3
CVE-2026-34603
@tinacms/graphql's Media Endpoints Can Escape the Media Root via Symlinks or Junctions
