{"id":"CVE-2026-109562","summary":"SnapOtter 1.15.10 through 2.2.0 Missing Authorization via Upload and Preview API","details":"SnapOtter 1.15.10 through 2.2.0 contains a missing authorization vulnerability that allows any authenticated principal to call the /api/v1/upload, /api/v1/preview and /api/v1/preview/generate handlers without permission checks. Attackers holding even a settings:read-scoped API key can stage arbitrary files outside storage quota, served unauthenticated via /api/v1/download, and feed crafted input to image and video decoders.","modified":"2026-10-14T02:48:10.964949884Z","published":"2026-10-12T20:55:16.236Z","database_specific":{"cna_assigner":"VulnCheck","cwe_ids":["CWE-862"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/109xxx/CVE-2026-109562.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/109xxx/CVE-2026-109562.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-109562"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/snapotter-1.15.10-through-2.2.0-missing-authorization-via-upload-and-preview-api"},{"type":"FIX","url":"https://github.com/snapotter-hq/SnapOtter/commit/1544966b52b8f2b40ef3794e43ffd4f0214550ba"},{"type":"PACKAGE","url":"https://github.com/snapotter-hq/SnapOtter"},{"type":"ARTICLE","url":"https://github.com/snapotter-hq/SnapOtter/blob/v2.2.0/apps/api/src/routes/files.ts"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/snapotter-hq/snapotter","events":[{"introduced":"291e4092cd0128a22d29c69642cb9f6d69a67642"},{"fixed":"6aacb4f3a937839db131eccd30d55fa04bbaf58a"},{"fixed":"1544966b52b8f2b40ef3794e43ffd4f0214550ba"}],"database_specific":{"extracted_events":[{"introduced":"1.15.10"},{"fixed":"2.2.0"}],"source":["DESCRIPTION","REFERENCES"]}}],"versions":["v2.1.0","v2.0.0","v1.17.2","v1.17.1","v1.17.0","v1.16.0","v1.15.11","v1.15.10"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-109562.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N"}]}