Tinacms
Monthly
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. Exploitation requires the targeted developer to visit an attacker-controlled page while tinacms dev is running locally; no public exploit identified at time of analysis, though a researcher-validated proof-of-concept is documented in GHSA-rgr9-r7mj-mf6x. Vendor-released patch: @tinacms/cli@2.5.2.
Broken access control across all four first-party TinaCMS production media adapters (next-tinacms-s3, next-tinacms-dos, next-tinacms-azure, next-tinacms-cloudinary) allows any authenticated CMS editor to write or delete storage objects outside the operator-configured mediaRoot boundary. The handlers pass attacker-controlled query parameters (req.query.key for presigned S3 PUTs, req.query.media for DELETEs) directly to storage SDK operations without validating that the resulting key falls within the permitted path prefix, giving editors write and delete authority over the entire storage bucket or container reachable by the deployment's IAM or service credential. Vendor-released patches exist in all four packages; no public exploit or CISA KEV listing has been identified at time of analysis.
Remote code execution in TinaCMS affects versions prior to 3.1.1, @tinacms/cli before 2.0.4, and @tinacms/graphql before 2.0.3. Authenticated attackers with content control over markdown files can execute arbitrary code through insecure gray-matter package usage. The vulnerability requires low-privilege authentication (PR:L) and user interaction (UI:P), enabling full compromise of confidentiality, integrity, and availability in the vulnerable context. Publicly available exploit code exists, significantly increasing deployment risk for unpatched installations managing user-contributed markdown content.
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. Exploitation requires the targeted developer to visit an attacker-controlled page while tinacms dev is running locally; no public exploit identified at time of analysis, though a researcher-validated proof-of-concept is documented in GHSA-rgr9-r7mj-mf6x. Vendor-released patch: @tinacms/cli@2.5.2.
Broken access control across all four first-party TinaCMS production media adapters (next-tinacms-s3, next-tinacms-dos, next-tinacms-azure, next-tinacms-cloudinary) allows any authenticated CMS editor to write or delete storage objects outside the operator-configured mediaRoot boundary. The handlers pass attacker-controlled query parameters (req.query.key for presigned S3 PUTs, req.query.media for DELETEs) directly to storage SDK operations without validating that the resulting key falls within the permitted path prefix, giving editors write and delete authority over the entire storage bucket or container reachable by the deployment's IAM or service credential. Vendor-released patches exist in all four packages; no public exploit or CISA KEV listing has been identified at time of analysis.
Remote code execution in TinaCMS affects versions prior to 3.1.1, @tinacms/cli before 2.0.4, and @tinacms/graphql before 2.0.3. Authenticated attackers with content control over markdown files can execute arbitrary code through insecure gray-matter package usage. The vulnerability requires low-privilege authentication (PR:L) and user interaction (UI:P), enabling full compromise of confidentiality, integrity, and availability in the vulnerable context. Publicly available exploit code exists, significantly increasing deployment risk for unpatched installations managing user-contributed markdown content.