{"id":"CVE-2026-59992","title":"Tina is a headless content management system","summary":"Tina is a headless content management system. Prior to next-tinacms-s3 23.0.4, next-tinacms-dos 23.0.4, next-tinacms-azure 14.0.4, and next-tinacms-cloudinary 26.0.4, the first-party production media adapters pass attacker-controlled obj…","severity":"medium","cvss":5.4,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L","cwe":["CWE-639","CWE-862"],"vendor":"next-tinacms-s3","product":"next-tinacms-s3","affected":["next-tinacms-s3 < 23.0.4","next-tinacms-dos < 23.0.4","next-tinacms-azure < 14.0.4","next-tinacms-cloudinary < 26.0.4"],"patched":["next-tinacms-s3 23.0.4","next-tinacms-dos 23.0.4","next-tinacms-azure 14.0.4","next-tinacms-cloudinary 26.0.4"],"published":"2026-08-19","updated":"2026-09-18","sourceUpdated":"2026-09-18T20:09:01.757","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-59992","references":[{"url":"https://github.com/tinacms/tinacms/commit/d44558e9b4502d4f4fc2c970d22985339fe2b6ce","label":"security-advisories@github.com"},{"url":"https://github.com/tinacms/tinacms/pull/7088","label":"security-advisories@github.com"},{"url":"https://github.com/tinacms/tinacms/releases/tag/next-tinacms-s3@23.0.4","label":"security-advisories@github.com"},{"url":"https://github.com/tinacms/tinacms/security/advisories/GHSA-8mq9-5fw2-5rm4","label":"security-advisories@github.com"},{"url":"https://github.com/tinacms/tinacms/security/advisories/GHSA-8mq9-5fw2-5rm4","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"},{"url":"https://github.com/advisories/GHSA-8mq9-5fw2-5rm4"}],"tags":["nvd","ghsa","npm"],"epss":0.00338,"epssPercentile":0.27391,"aliases":["GHSA-8mq9-5fw2-5rm4"],"ecosystem":"npm","ingestedAt":"2026-08-19T22:45:54.258Z","slug":"CVE-2026-59992","body":"## Overview\n\nTina is a headless content management system. Prior to next-tinacms-s3 23.0.4, next-tinacms-dos 23.0.4, next-tinacms-azure 14.0.4, and next-tinacms-cloudinary 26.0.4, the first-party production media adapters pass attacker-controlled object keys to storage SDK upload and delete operations without enforcing the operator's configured mediaRoot. In packages/next-tinacms-s3/src/handlers.ts, createMediaHandler accepts req.query.key for a signed PutObject URL and the DELETE path uses req.query.media as the DeleteObjectCommand key. The same missing key-boundary check exists in packages/next-tinacms-dos/src/handlers.ts, packages/next-tinacms-azure/src/handlers.ts, and packages/next-tinacms-cloudinary/src/handlers.ts. An authenticated CMS editor can therefore create or delete objects anywhere the deployment's storage credential can reach, including other tenants' or non-media objects. These issues are fixed in next-tinacms-s3 23.0.4, next-tinacms-dos 23.0.4, next-tinacms-azure 14.0.4, and next-tinacms-cloudinary 26.0.4.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-59992)\n\nAffected packages:\n\n- `next-tinacms-s3 < 23.0.4`\n- `next-tinacms-dos < 23.0.4`\n- `next-tinacms-azure < 14.0.4`\n- `next-tinacms-cloudinary < 26.0.4`\n\nPatched in:\n\n- `next-tinacms-s3 23.0.4`\n- `next-tinacms-dos 23.0.4`\n- `next-tinacms-azure 14.0.4`\n- `next-tinacms-cloudinary 26.0.4`\n\nSource: https://github.com/advisories/GHSA-8mq9-5fw2-5rm4","depth":"sunlit","depthScore":30,"depthScoreParts":{"impact":29.7,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}