Quick answers
- Is CVE-2026-34603 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-34603 being exploited in the wild.
- How severe is CVE-2026-34603?
- Low severity, with a CVSS score of 3.1, published 1 April 2026.
- Which products and versions are affected?
- @tinacms/graphql (npm) SEMVER:introduced=0,fixed=2.2.2; Tina CMS GraphQL <= 2.2.1.
- Is there a fix for CVE-2026-34603?
- Yes. @tinacms/graphql (npm): upgrade to 2.2.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-34603 attacked?
- It is attacked over the network.
- Am I affected by CVE-2026-34603?
- Check whether you run @tinacms/graphql (npm) or Tina CMS GraphQL at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- @tinacms/graphql (npm): upgrade to 2.2.2 or later
npm install @tinacms/graphql@2.2.2
Technical details
The vulnerability is a path traversal flaw in @tinacms/graphql's media endpoints (list, upload, delete). The vulnerable code validates user-controlled file paths using lexical string operations (path.resolve and startsWith checks) without resolving symbolic links or Windows junctions. An attacker can craft a path like `pivot/secret.txt` where `pivot` is a symlink to a directory outside the media root; the validation passes because the path string appears to be inside the media directory, but filesystem operations follow the symlink target and access files outside the boundary. Attack requires authenticated access (PR:L) with moderate complexity (AC:H), allowing unauthorized file read/write/delete operations with high confidentiality and integrity impact. The patch (version 2.2.2) hardens validation by using fs.realpath() to resolve canonical paths and comparing real filesystem locations rather than strings.
Affected products
- Tina CMS GraphQL <= 2.2.1
Identifiers
- CVE-2026-34603
- GHSA-g87c-r2jp-293w
Timeline
- 2026-04-01: disclosed
- 2026-04-01: patched: Version 2.2.2