{"id":"CVE-2026-116020","kind":"vulnerability","aliases":["CVE-2026-116020"],"related":[],"title":"BookStack: authenticated users can read and change other users' draft attachments","description":"BookStack before 26.09.2 contains an incorrect authorization vulnerability in AttachmentController that allows authenticated users to access other users' draft page attachments by ID. Attackers with attachment permissions can enumerate sequential attachment IDs to download, rename, relink, or replace files on another user's unpublished draft pages.","summary":"BookStack versions before 26.09.2 let any logged-in user reach attachments on other users' unpublished draft pages by guessing sequential attachment IDs. An attacker can download, rename, relink or replace those files.","severity":"medium","cvss":5.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["bookstack","package","php","self-hosted"],"not_affected_if":["default-config","single-user"],"how_to_check":"- Check the installed BookStack version in the app's footer or `composer.lock` / release tag; versions below `26.09.2` are affected.\n- Confirm an account has attachment permissions before assuming exposure: the description says attackers need them.","fix":"- Upgrade BookStack to `26.09.2` or later.\n- Until upgraded, review which users hold attachment permissions and limit them to trusted accounts.","status":"open","published_at":"2026-10-24T12:16:58+00:00","first_seen_at":"2026-10-24T12:47:58+00:00","triaged_at":"2026-10-25T04:14:10+00:00","updated_at":"2026-10-25T04:14:10+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T04:14:10Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade BookStack to `26.09.2` or later.\n- Until upgraded, review which users hold attachment permissions and limit them to trusted accounts.","reach":"internet","title":"BookStack: authenticated users can read and change other users' draft attachments","impact":"medium","summary":"BookStack versions before 26.09.2 let any logged-in user reach attachments on other users' unpublished draft pages by guessing sequential attachment IDs. An attacker can download, rename, relink or replace those files.","category":"package","nicknames":[],"who_cares":["bookstack","self-hosted","php"],"confidence":0.7,"needs_auth":"yes","worst_case":"Attacker downloads, renames, relinks or replaces other users' draft attachments","analyst_note":"","how_to_check":"- Check the installed BookStack version in the app's footer or `composer.lock` / release tag; versions below `26.09.2` are affected.\n- Confirm an account has attachment permissions before assuming exposure: the description says attackers need them.","needs_analyst":false,"not_affected_if":["default-config","single-user"],"who_is_affected":"Self-hosted or managed BookStack instances before 26.09.2 that have multiple user accounts who write draft pages with attachments. Single-user or read-only instances, and instances where only trusted editors can log in, are at lower risk.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000584,"input_tokens":3326,"output_tokens":502,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-116020':14A,17A '-2026':13A,16A '26.09.2':27B,59C 'access':72C 'allow':68C 'anoth':97C 'attach':11A,35B,45B,77C,82C,87C 'attachmentcontrol':66C 'attack':48B,80C 'authent':2A,69C 'author':63C 'bookstack':1A,18B,24B,57C 'chang':7A 'contain':60C 'cve':12A,15A 'download':50B,90C 'draft':10A,40B,75C,101C 'enumer':85C 'file':56B,95C 'guess':43B 'host':23B 'id':46B,79C,88C 'incorrect':62C 'let':28B 'log':31B 'logged-in':30B 'packag':19B 'page':41B,76C,102C 'permiss':83C 'php':20B 'reach':34B 'read':5A 'relink':52B,92C 'renam':51B,91C 'replac':54B,94C 'self':22B 'self-host':21B 'sequenti':44B,86C 'unpublish':39B,100C 'user':3A,9A,33B,38B,70C,74C,98C 'version':25B 'vulner':64C","nicknames":[],"mitigations":[],"who_affected":"Self-hosted or managed BookStack instances before 26.09.2 that have multiple user accounts who write draft pages with attachments. Single-user or read-only instances, and instances where only trusted editors can log in, are at lower risk.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-24T12:16:58+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/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-116020","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116020","severity":null,"published_at":"2026-10-24T12:16:58+00:00","modified_at":"2026-10-24T12:16:58+00:00","first_seen_at":"2026-10-24T12:47:58+00:00","fetched_at":"2026-10-24T12:47:58+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"}