CVE-2026-63123 Tina: Cross-origin `POST /media/upload/*` requests can write arbitrary files into the Tina dev server media root
A remote attacker can force a developer's browser to upload arbitrary files to the TinaCMS dev server media root via cross-origin requests.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-63123?
CVE-2026-63123 is a medium-severity vulnerability in tinacms, published on 19 Aug 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
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.
Weakness: CWE-352
Which versions are affected by CVE-2026-63123?
2 open source packages ship an affected version, including @tinacms/cli.
| Package | Affected | Fixed in |
|---|---|---|
@tinacms/cli npm | All versions | 2.5.2 |
@tinacms/cli npm | All versions | 2.5.2 |
How do I fix CVE-2026-63123?
Upgrade @tinacms/cli to 2.5.2 or later.
Is CVE-2026-63123 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-63123 exists.
Sources
Also known as GHSA-rgr9-r7mj-mf6x.