{"id":"CVE-2026-111646","kind":"vulnerability","aliases":["CVE-2026-111646"],"related":[],"title":"SurveyKing: missing authorization lets anonymous users download any stored file","description":"SurveyKing before 1.13.0 contains a missing authorization vulnerability that allows unauthenticated attackers to download any stored file by id through GET /api/public/preview/{attachmentId}. Attackers who know or derive time-ordered snowflake file ids can bypass shared, owner, and project checks in FileServiceImpl.loadFile to read private survey attachments and respondent uploads.","summary":"SurveyKing before 1.13.0 exposes GET /api/public/preview/{attachmentId} without authorization checks. An unauthenticated attacker who knows or can guess a snowflake file id can download private survey attachments and respondent uploads.","severity":"high","cvss":8.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["java","package","self-hosted","surveyking"],"not_affected_if":["version-1.13.0-or-later"],"how_to_check":"- Check the installed SurveyKing version; affected builds are those before `1.13.0`.\n- Test whether `GET /api/public/preview/{attachmentId}` returns files without a session, using a file id you own.","fix":"- Upgrade SurveyKing to `1.13.0` or later.\n- Until upgraded, block or restrict access to the `/api/public/preview/` route at the proxy.","status":"open","published_at":"2026-10-16T18:17:45+00:00","first_seen_at":"2026-10-23T21:57:13+00:00","triaged_at":"2026-10-25T03:04:26+00:00","updated_at":"2026-10-25T03:04:26+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T03:04:26Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade SurveyKing to `1.13.0` or later.\n- Until upgraded, block or restrict access to the `/api/public/preview/` route at the proxy.","reach":"internet","title":"SurveyKing: missing authorization lets anonymous users download any stored file","impact":"medium","summary":"SurveyKing before 1.13.0 exposes GET /api/public/preview/{attachmentId} without authorization checks. An unauthenticated attacker who knows or can guess a snowflake file id can download private survey attachments and respondent uploads.","category":"package","nicknames":[],"who_cares":["surveyking","self-hosted","java"],"confidence":0.7,"needs_auth":"no","worst_case":"Anyone can read private survey attachments and respondent uploads.","analyst_note":"Check the NVD entry and the SurveyKing 1.13.0 release notes to confirm the fix version and whether the public preview route is enabled by default.","how_to_check":"- Check the installed SurveyKing version; affected builds are those before `1.13.0`.\n- Test whether `GET /api/public/preview/{attachmentId}` returns files without a session, using a file id you own.","needs_analyst":true,"not_affected_if":["version-1.13.0-or-later"],"who_is_affected":"Self-hosted or deployed SurveyKing instances running a version before 1.13.0 that store survey attachments or respondent uploads. Instances without uploaded files have less exposure, and the sources do not say whether managed hosting is involved.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000615,"input_tokens":3351,"output_tokens":560,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-111646':13A,16A '-2026':12A,15A '/api/public/preview':28B,74C '1.13.0':25B,55C 'allow':62C 'anonym':5A 'attach':49B,100C 'attachmentid':29B,75C 'attack':35B,64C,76C 'author':3A,31B,59C 'bypass':88C 'check':32B,93C 'contain':56C 'cve':11A,14A 'deriv':80C 'download':7A,46B,66C 'expos':26B 'file':10A,43B,69C,85C 'fileserviceimpl.loadfile':95C 'get':27B,73C 'guess':40B 'host':21B 'id':44B,71C,86C 'java':17B 'know':37B,78C 'let':4A 'miss':2A,58C 'order':83C 'owner':90C 'packag':18B 'privat':47B,98C 'project':92C 'read':97C 'respond':51B,102C 'self':20B 'self-host':19B 'share':89C 'snowflak':42B,84C 'store':9A,68C 'survey':48B,99C 'surveyk':1A,22B,23B,53C 'time':82C 'time-ord':81C 'unauthent':34B,63C 'upload':52B,103C 'user':6A 'vulner':60C 'without':30B","nicknames":[],"mitigations":[],"who_affected":"Self-hosted or deployed SurveyKing instances running a version before 1.13.0 that store survey attachments or respondent uploads. Instances without uploaded files have less exposure, and the sources do not say whether managed hosting is involved.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-16T18:17:45+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111646","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111646","severity":null,"published_at":"2026-10-16T18:17:45+00:00","modified_at":"2026-10-16T22:17:21+00:00","first_seen_at":"2026-10-23T21:57:13+00:00","fetched_at":"2026-10-23T22:28:55+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}