Skip to main content
← All vulnerabilities
CVE-2026-55551EUVD-2026-114196

ZAC: Missing per-zaaktype authorization on by-ID decision and process reads

Affects ZAC (dimpact-zaakafhandelcomponent) up to and including 5.1.0 for authenticated users with at least one application role. Fixed in 5.2.0.

Published
Last modified
published
Not listed in CISA KEV
Specific setups only
Fix
Fixed in 5.2.0
None on Exploit-DB, Metasploit or GitHub

Summary

ZAC, an open-source case management component used by Dutch municipalities, is affected by a missing authorization check on several by-ID read endpoints. An authenticated user with low privileges who knows a case or decision identifier could view decisions, their audit history, workflow diagrams, and mailbox configuration for case types they are not permitted to access.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original description

ZAC is an open-source, workflow-based Common Ground component for Dutch municipal case management. Prior to 5.2.0, by-id read endpoints in `src/main/kotlin/nl/info/zac/app/zaak/ZaakRestService.kt` omit `assertPolicy`(`policyService.readZaakRechten(zaak).lezen`) authorization. `RequestAuthorizationFilter` and `hasAnyApplicationRole` require only an application role on any zaaktype, not the target case's type, while `zaak-rechten.rego` enforces the actual `zaaktype_allowed` boundary only when invoked. An authenticated low-privileged municipal user who knows a case or decision UUID can use `GET /rest/zaken/besluit/zaakUuid/{uuid}` (`listBesluitenForZaakUUID`) to read decisions including types, dates, and free-text toelichting; `GET /rest/zaken/besluit/{uuid}/historie` (`listBesluitHistorie`) to read audit old/new values; and `GET /rest/zaken/{uuid}/process-diagram` (`downloadProcessDiagram`) to read BPMN workflow state across unauthorized zaaktypes. The advisory also identifies `zaak/{uuid}/afzender` (`listAfzendersVoorZaak`) as exposing zaaktype mailbox configuration without a policy check. The search/_zoek path is correctly authorization-filtered and is not part of this by-id read cluster. This issue is fixed in version 5.2.0.

Timeline

  1. CVE published
  2. First seen by cve.now

Affected versions

  • infonl dimpact-zaakafhandelcomponent

    fixed in 5.2.0

References 6

GitHub · infonl/dimpact-zaakafhandelcomponent

FAQ

Questions about CVE-2026-55551

What does this mean?

An authenticated low-privileged municipal user can read decision and process data for case types they are not authorized for, provided they know the case or decision UUID. The data includes decision types, dates, free-text notes, audit history and workflow state.Source: github.com

Am I affected, and how do I check?

Versions of ZAC up to and including 5.1.0 are affected. The platform check only requires at least one application role on any zaaktype, not on the target case's zaaktype. Check the installed ZAC version against that range.Source: github.com

What should I do about it?

Upgrade to ZAC 5.2.0 or later, which contains the fix. The facts list no workaround, so upgrading is the stated remedy.Source: github.com

Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data