{"id":"CVE-2026-54657","kind":"vulnerability","aliases":["CVE-2026-54657"],"related":[],"title":"Open Zaak: search endpoints return case metadata beyond token permissions","description":"Open Zaak is an open-source data and services layer for Dutch case-oriented working. From 1.0.0 until 1.27.2, 1.28.2, and 1.29.0, the POST search endpoints /zaken/api/v1/zaken/_zoek and /documenten/api/v1/enkelvoudiginformatieobjecten/_zoek do not filter result querysets according to the authorizations associated with the request token. A caller with a valid zaken.lezen or documenten.lezen token can therefore retrieve case or document metadata outside the token's authorized types or confidentiality levels. Document searches require known UUIDs, and document content remains protected by separate download authorization. This issue is fixed in versions 1.27.2, 1.28.2, and 1.29.0.","summary":"Open Zaak's POST search endpoints for cases and documents do not filter results by the authorizations on the request token. A caller with a valid zaken.lezen or documenten.lezen token can read case or document metadata outside their authorized case types or confidentiality levels.","severity":"medium","cvss":6.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["case-management","dutch-government","open-zaak","package","self-hosted"],"not_affected_if":["full-access-tokens-only","patched-version"],"how_to_check":"- Check the installed Open Zaak version; the sources say versions 1.0.0 through 1.27.1, 1.28.0 through 1.28.1, and 1.29.0 pre-fix are affected.\n- Check whether tokens with zaken.lezen or documenten.lezen are issued to callers that should only see a subset of case types or confidentiality levels.","fix":"- Upgrade Open Zaak to `1.27.2`, `1.28.2`, or `1.29.0` depending on the release line in use.","status":"open","published_at":"2026-10-16T16:18:43+00:00","first_seen_at":"2026-10-23T21:57:13+00:00","triaged_at":"2026-10-25T03:57:51+00:00","updated_at":"2026-10-25T03:57:51+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T03:57:51Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Open Zaak to `1.27.2`, `1.28.2`, or `1.29.0` depending on the release line in use.","reach":"network","title":"Open Zaak: search endpoints return case metadata beyond token permissions","impact":"medium","summary":"Open Zaak's POST search endpoints for cases and documents do not filter results by the authorizations on the request token. A caller with a valid zaken.lezen or documenten.lezen token can read case or document metadata outside their authorized case types or confidentiality levels.","category":"package","nicknames":[],"who_cares":["open-zaak","self-hosted","dutch-government","case-management"],"confidence":0.7,"needs_auth":"yes","worst_case":"Authenticated caller reads case and document metadata beyond their authorized scope.","analyst_note":"","how_to_check":"- Check the installed Open Zaak version; the sources say versions 1.0.0 through 1.27.1, 1.28.0 through 1.28.1, and 1.29.0 pre-fix are affected.\n- Check whether tokens with zaken.lezen or documenten.lezen are issued to callers that should only see a subset of case types or confidentiality levels.","needs_analyst":false,"not_affected_if":["patched-version","full-access-tokens-only"],"who_is_affected":"Teams running Open Zaak from 1.0.0 up to the fixed releases that issue tokens scoped by case type or confidentiality level. Exposure depends on callers holding a valid read token; document searches also require known UUIDs, and document content stays behind separate download authorization. Deployments that give every token full read access, or that run a patched version, are not meaningfully exposed.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000652,"input_tokens":3459,"output_tokens":612,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,15A '-54657':13A,16A '/documenten/api/v1/enkelvoudiginformatieobjecten/_zoek':104C '/zaken/api/v1/zaken/_zoek':102C '1.0.0':92C '1.27.2':94C,164C '1.28.2':95C,165C '1.29.0':97C,167C 'accord':110C 'associ':114C 'author':46B,68B,113C,139C,157C 'beyond':8A 'caller':52B,120C 'case':6A,18B,37B,62B,69B,88C,131C 'case-manag':17B 'case-ori':87C 'confidenti':72B,142C 'content':151C 'cve':11A,14A 'data':81C 'document':39B,64B,133C,144C,150C 'documenten.lezen':58B,126C 'download':156C 'dutch':21B,86C 'dutch-govern':20B 'endpoint':4A,35B,101C 'filter':42B,107C 'fix':161C 'govern':22B 'host':29B 'issu':159C 'known':147C 'layer':84C 'level':73B,143C 'manag':19B 'metadata':7A,65B,134C 'open':1A,24B,30B,74C,79C 'open-sourc':78C 'open-zaak':23B 'orient':89C 'outsid':66B,135C 'packag':26B 'permiss':10A 'post':33B,99C 'protect':153C 'queryset':109C 'read':61B 'remain':152C 'request':49B,117C 'requir':146C 'result':43B,108C 'retriev':130C 'return':5A 'search':3A,34B,100C,145C 'self':28B 'self-host':27B 'separ':155C 'servic':83C 'sourc':80C 'therefor':129C 'token':9A,50B,59B,118C,127C,137C 'type':70B,140C 'uuid':148C 'valid':55B,123C 'version':163C 'work':90C 'zaak':2A,25B,31B,75C 'zaken.lezen':56B,124C","nicknames":[],"mitigations":[],"who_affected":"Teams running Open Zaak from 1.0.0 up to the fixed releases that issue tokens scoped by case type or confidentiality level. Exposure depends on callers holding a valid read token; document searches also require known UUIDs, and document content stays behind separate download authorization. Deployments that give every token full read access, or that run a patched version, are not meaningfully exposed.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-16T16:18:43+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-54657","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54657","severity":null,"published_at":"2026-10-16T16:18:43+00:00","modified_at":"2026-10-16T20:04:29+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"}