Severity by source
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
Network-reachable via browser CSRF with no auth (PR:N), but requires developer to visit malicious page (UI:R); integrity high for media root writes, confidentiality none as CORS blocks response reading.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
3DescriptionCVE.org
Tina is a headless content management system. Prior to 2.5.2, the TinaCMS CLI package's Vite dev server packages/@tinacms/cli/src/next/vite/cors.ts origin callback returns false for a disallowed origin but does not reject the request, and packages/@tinacms/cli/src/next/vite/plugins.ts still routes POST /media/upload/* to mediaRouter.handlePost. The upload code in packages/@tinacms/cli/src/next/commands/dev-command/server/media.ts writes attacker-controlled multipart contents inside the configured media root. A remote attacker can cause a developer's browser to submit this state-changing request by inducing the developer to visit an attacker-controlled page while tinacms dev is running. This issue is fixed in version 2.5.2.
AnalysisAI
Cross-site request forgery in the TinaCMS CLI dev server allows an attacker-controlled web page to write arbitrary files into a developer's local media root without their knowledge. The Vite dev server's CORS middleware only suppressed response headers for disallowed origins but never terminated the underlying request, and because multipart/form-data is a browser 'simple request' exempt from CORS preflight, an attacker page can silently drive a complete media upload to completion. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Two specific conditions must both be met: (1) the target developer must be running tinacms dev locally - this vulnerability is exclusive to the CLI development server and is not present in production TinaCMS deployments; and (2) the developer must visit an attacker-controlled web page in the same browser session while the dev server is active, at which point the attacker page autonomously triggers the upload with no further developer interaction beyond the initial page visit (CVSS UI:R). … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N, score 6.5) accurately characterizes the attack: network-reachable, low complexity, no authentication required, but gated on developer user interaction (visiting a malicious page). … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | Upgrade @tinacms/cli to version 2.5.2 or later via npm install @tinacms/cli@2.5.2 or the equivalent yarn/pnpm command. … Detailed patch versions, workarounds, and compensating controls in full report. |
Threat intelligence, references, and detailed analysis are available after sign-in.
Remote code execution in TinaCMS affects versions prior to 3.1.1, @tinacms/cli before 2.0.4, and @tinacms/graphql before
Broken access control across all four first-party TinaCMS production media adapters (next-tinacms-s3, next-tinacms-dos,
Same weakness CWE-352 – Cross-Site Request Forgery (CSRF)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-62971
GHSA-rgr9-r7mj-mf6x