
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-68278 is a code injection vulnerability in TinaCMS, a headless content management system, that allows attackers who can control the content of processed markdown files to execute arbitrary code on the server. It affects tinacms prior to version 3.1.1, @tinacms/cli prior to version 2.0.4, and @tinacms/graphql prior to version 2.0.3. The vulnerability was disclosed on December 18, 2025. It carries a CVSS v3.1 base score of 8.8 (High) and a CVSS v4.0 base score of 7.3 (High) (Github Advisory, TinaCMS Advisory).
The root cause is improper control of code generation (CWE-94) stemming from TinaCMS's insecure use of the gray-matter npm package. By default, gray-matter executes JavaScript (and CoffeeScript) code embedded in markdown frontmatter delimited by ---js, ---javascript, ---coffee, or ---coffeescript blocks. TinaCMS failed to override this behavior by providing a custom engine property in the gray-matter options object to disable code execution. An attacker who can place a malicious markdown file into the TinaCMS content directory — for example, a blog post — can embed arbitrary JavaScript in the frontmatter that executes server-side when the file is parsed (TinaCMS Advisory, Patch Commit).
Successful exploitation results in full remote code execution (RCE) on the server hosting TinaCMS, running as the Node.js process user. An attacker can read sensitive files (e.g., /etc/passwd, environment variables, secrets), modify data, disrupt service availability, and potentially pivot laterally within the hosting infrastructure. The impact is rated High across confidentiality, integrity, and availability (TinaCMS Advisory, Github Advisory).
A proof-of-concept exploit is publicly available in the GitHub security advisory, demonstrating file read via require('fs').readFileSync('/etc/passwd') embedded in markdown frontmatter (TinaCMS Advisory). There is no evidence of active in-the-wild exploitation at this time, and no threat actor attribution has been reported. The EPSS score is approximately 0.069% (21st percentile), indicating a currently low probability of exploitation in the next 30 days (Github Advisory). The vulnerability is not listed in the CISA KEV catalog. Exploitation requires the attacker to have some ability to introduce or modify markdown content files processed by TinaCMS (e.g., via a contractor, shared folder, or compromised content pipeline), plus passive user interaction (a developer starting the server).
tinacms < 3.1.1, @tinacms/cli < 2.0.4, or @tinacms/graphql < 2.0.3 where the attacker can introduce or modify markdown content files (e.g., blog posts in the content directory)..md file to include a JavaScript frontmatter block using the ---js delimiter with an arbitrary payload:---js
{
"title": "Pawned" + console.log(require("fs").readFileSync("/etc/passwd").toString())
}
---
# Blog Post
Content herenpm run dev), which triggers gray-matter to parse the frontmatter and execute the embedded JavaScript.---js, ---javascript, ---coffee, or ---coffeescript frontmatter delimiters instead of standard YAML (---) or TOML (+++) delimiters; unexpected files created or modified by the Node.js process (e.g., web shells, exfiltrated data files)./etc/passwd output), error stack traces from gray-matter parsing, or unusual output during server startup.sh, bash, curl, wget, python) indicating command execution from within the server.Upgrade to the following patched versions immediately: tinacms 3.1.1, @tinacms/cli 2.0.4, and @tinacms/graphql 2.0.3. The fix overrides the gray-matter matterEngines configuration to throw explicit errors when JavaScript (js, javascript) or CoffeeScript (coffee, coffeescript) frontmatter engines are invoked, while preserving support for YAML, TOML, and JSON formats (Patch Commit). As a workaround prior to patching, restrict write access to the TinaCMS content directory to trusted users only, and audit existing markdown files for ---js, ---javascript, ---coffee, or ---coffeescript frontmatter blocks. Implement input validation and sanitization for any externally sourced markdown content before it enters the content pipeline (TinaCMS Advisory).
The vulnerability was reported by security researcher cristianstaicu and published by the TinaCMS maintainer wicksipedia on December 18, 2025. The advisory notes that developers may be unaware that processing untrusted markdown files via TinaCMS can result in server-side code execution, highlighting a broader supply-chain and content-pipeline trust assumption risk (TinaCMS Advisory). Coverage has appeared on security aggregators including INCIBE-CERT and Red Hat's CVE tracking, indicating moderate community awareness (Github Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."