CVE-2026-28793

Path Traversal Leading to Arbitrary File Read, Write and Delete in TinaCMS

Published Mar 12, 2026 CVSS 3.1 · 8.4 High EPSS < 1% KEV · Not listed
Description
Tina is a headless content management system. Prior to 2.1.8, the TinaCMS CLI development server exposes media endpoints that are vulnerable to path traversal, allowing attackers to read and write arbitrary files on the filesystem outside the intended media directory. When running tinacms dev, the CLI starts a local HTTP server (default port 4001) exposing endpoints such as /media/list/*, /media/upload/*, and /media/*. These endpoints process user-controlled path segments using decodeURI() and path.join() without validating that the resolved path remains within the configured media directory. This vulnerability is fixed in 2.1.8.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-2f24-mg4x-534q TinaCMS Vulnerable to Path Traversal Leading to Arbitrary File Read, Write and Delete
History
Type Values Removed Values Added
First Time appeared Ssw
Ssw tinacms\/cli
CPEs cpe:2.3:a:ssw:tinacms\/cli:*:*:*:*:*:node.js:*:*
Vendors & Products Ssw
Ssw tinacms\/cli
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Tina
Tina tinacms
Vendors & Products Tina
Tina tinacms
Type Values Removed Values Added
Description Tina is a headless content management system. Prior to 2.1.8, the TinaCMS CLI development server exposes media endpoints that are vulnerable to path traversal, allowing attackers to read and write arbitrary files on the filesystem outside the intended media directory. When running tinacms dev, the CLI starts a local HTTP server (default port 4001) exposing endpoints such as /media/list/*, /media/upload/*, and /media/*. These endpoints process user-controlled path segments using decodeURI() and path.join() without validating that the resolved path remains within the configured media directory. This vulnerability is fixed in 2.1.8.
Title Path Traversal Leading to Arbitrary File Read, Write and Delete in TinaCMS
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 8.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Mar 13, 2026, 4:28 PM
Reserved
Mar 3, 2026, 2:25 PM
Status
Analyzed
Published
Mar 12, 2026, 5:16 PM
Modified
Jun 17, 2026, 10:29 AM