{"schema":"threatline.record/2","record":{"id":"CVE-2026-109562","aliases":[],"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.","categories":["Unclassified"],"product":"SnapOtter","vendor":"snapotter-hq","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-109562","source_modified_at":"2026-10-15T13:53:59.243Z","fetched_at":"2026-10-23T18:48:36.087640Z","product":"SnapOtter","vendor":"snapotter-hq","versions":[{"version":"1.15.10","status":"affected","versionType":"custom","lessThanOrEqual":"2.2.0"}],"defaultStatus":"unaffected"}],"fixed_versions":[],"cvss":5.3,"severity":"Medium","kev":{"listed":false},"epss":{"probability":0.00219,"percentile":0.11687,"score_date":"2026-10-23"},"published_at":"2026-10-12T20:55:16.236Z","modified_at":"2026-10-15T13:53:59.243Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-109562","fetched_at":"2026-10-23T18:48:36.087640Z","source_modified_at":"2026-10-15T13:53:59.243Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-109562","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["CVE List","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/snapotter-hq/SnapOtter/commit/1544966b52b8f2b40ef3794e43ffd4f0214550ba","tags":["patch"]},{"source":"CVE List","url":"https://github.com/snapotter-hq/SnapOtter/blob/v2.2.0/apps/api/src/routes/files.ts","tags":["technical-description"]},{"source":"CVE List","url":"https://github.com/snapotter-hq/SnapOtter","tags":["product"]},{"source":"CVE List","url":"https://www.vulncheck.com/advisories/snapotter-1.15.10-through-2.2.0-missing-authorization-via-upload-and-preview-api","tags":["third-party-advisory"]}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","ssvc":{"exploitation":"none","automatable":"no","technical_impact":"partial","assessed_at":"2026-10-15T13:53:48.317704Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":null,"confidence":"unknown","reviewed":false},"change_timestamp":"2026-10-15T13:53:59.243Z","content_hash":"31bbf6b52f6eb7dd6c23d7a11bcd12c2d4ad9785f51109960653a4337dc37b55"}}
