Skip to main content

Dimpact ZAC EUVDEUVD-2026-114196

| CVE-2026-55551 MEDIUM
Improper Authorization (CWE-285)
2026-10-30 GitHub_M
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privileged municipal ZAC user
  2. Exploit
    Obtain target case or besluit UUID
  3. Execution
    Call by-id besluit/process read endpoint lacking assertPolicy
  4. Impact
    Read unauthorized cross-zaaktype decision, audit, and workflow data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization verification
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires (1) an authenticated ZAC account holding at least one application role on at least one zaaktype - i.e. any low-privileged municipal user, since RequestAuthorizationFilter/hasAnyApplicationRole does not check the target case's zaaktype - and (2) knowledge of a valid target zaak or besluit UUID, because the affected endpoints load strictly by id. Exploitation is limited to the by-id read cluster listBesluitenForZaakUUID (GET /rest/zaken/besluit/zaakUuid/{uuid}), listBesluitHistorie (GET /rest/zaken/besluit/{uuid}/historie), downloadProcessDiagram (GET /rest/zaken/{uuid}/process-diagram), and listAfzendersVoorZaak (zaak/{uuid}/afzender) on versions <= 5.1.0; the search/_zoek path is correctly authorization-filtered and is NOT affected. Limiting factors for defenders: valid credentials are mandatory, UUIDs are 128-bit and not readily guessable, impact is read-only confidentiality of decision/process/audit/mailbox metadata, and upgrading to 5.2.0 fully remediates.

Impact

This is a genuine but moderate-priority issue rather than a high-urgency emergency. The input CVSS is 6.5 with vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - network-reachable, low attack complexity, but requiring an authenticated low-privileged account and yielding confidentiality impact only (no integrity or availability loss). The vuln.today decision label is 'this_month', consistent with a steady patch priority rather than act_now/emergency. No EPSS score and no CISA KEV status were provided in the input, so there is no signal of widespread or active exploitation - treat exploitation likelihood as unquantified, not zero. A public PoC reference exists (the GHSA advisory documents a locally reproduced verification test showing policyService is never called); it is not verified as working weaponized exploit code. The most important real-world qualifier, which the raw CVSS does not capture, is that exploitation requires the attacker to already hold a valid municipal ZAC account AND to know a specific non-guessable case/besluit UUID; this makes the practical confidentiality exposure narrower than the input's C:H implies, which is why my independent assessment lowers C to Low. Net: a real broken-authorization (IDOR) defect worth patching on the vendor's 'this_month' cadence, but gated by authentication and per-case UUID knowledge rather than being an unauthenticated internet-wide risk.

Exploit ScenarioDerived

An authenticated low-privileged municipal employee who legitimately works only certain case types (zaaktypen) obtains or guesses the UUID of a case outside their authorization scope and calls GET /rest/zaken/besluit/zaakUuid/{uuid}, /rest/zaken/besluit/{uuid}/historie, or /rest/zaken/{uuid}/process-diagram. Because these by-id read endpoints never invoke assertPolicy, the server returns decision details, free-text toelichting, audit old/new values, and BPMN workflow state for case types the user is not entitled to see. The GitHub advisory documents a reproduced verification test confirming the missing policy call, so a public PoC reference exists, though it is not distributed as turnkey exploit code.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

Dimpact ZAC prior to 5.2.0 exposes decision, audit-history, BPMN process-diagram, and afzender mailbox metadata for zaken outside a user's authorized zaaktypes to any authenticated low-privileged municipal user who knows a valid zaak or besluit UUID. The flaw is a cross-zaaktype IDOR (CWE-285/CWE-639) caused by missing assertPolicy checks on by-id read endpoints while the platform filter only requires an application role on any zaaktype; the advisory includes a local proof-of-concept reproduction (a public PoC reference exists; it is not verified as working exploit code). No CISA KEV active-exploitation confirmation is available, the impact is read-only confidentiality, and upgrading to 5.2.0 remediates; overall priority is moderate.

RemediationAI

Upgrade Dimpact ZAC to 5.2.0, the fixed release (https://github.com/infonl/dimpact-zaakafhandelcomponent/releases/tag/v5.2.0); the security advisory is https://github.com/infonl/dimpact-zaakafhandelcomponent/security/advisories/GHSA-cv9m-35q4-cxfm. The fix adds assertPolicy(policyService.readZaakRechten(zaak).lezen) to the affected by-id read handlers, supported by PRs #6225 and #6229 and commits 7b90586be658cec9fa5c98c0838636237f40931f and d050f247301a1bcfb867015725a693c540a06f5a. The advisory recommends a defence-in-depth filter-level check that the caller's zaaktypen include the target zaak's zaaktype; no configuration-only workaround is documented in the available data, so the complete remediation is the 5.2.0 upgrade, and any interim code-level control has the trade-off of requiring development and deployment effort.

Affected VersionsENISA

dimpact-zaakafhandelcomponent < 5.2.0

Affected Packages

euvd dimpact_zaakafhandelcomponent fix: 5.2.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

ZAC is an open-source Common Ground case-management component for Dutch municipalities, implemented as a Kotlin REST service with an OPA/Rego policy layer. The affected CPE is cpe:2.3:a:infonl:dimpact-zaakafhandelcomponent:*:*:*:*:*:*:*:* for versions <=5.1.0. The root cause is CWE-285 improper authorization, manifesting as CWE-639 IDOR: RequestAuthorizationFilter and hasAnyApplicationRole only verify that the caller holds at least one application role on at least one zaaktype, while the target zaaktype boundary (zaaktype_allowed in zaak-rechten.rego) is enforced only when assertPolicy(policyService.readZaakRechten(zaak).lezen) is called. The by-id read handlers in ZaakRestService.kt-listBesluitenForZaakUUID, listBesluitHistorie, downloadProcessDiagram, and listAfzendersVoorZaak-omit that call, so data is returned for UUIDs outside the caller's authorized zaaktypes; search/_zoek is correctly authorization-filtered and is not part of this cluster. Exploitation requires valid credentials and knowledge of a 128-bit zaak or besluit UUID, which limits practical reach.

Know when Dimpact Zaakafhandelcomponent gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 4.3 MEDIUM

Authenticated low-privileged user over the network (PR:L, AV:N, AC:L); read-only exposure of a bounded set of per-case metadata gated by knowing a specific UUID justifies C:L, I:N, A:N.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Oct 30, 2026 - 18:03 EUVD

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Low
niche Dutch municipal case-management component, limited to NL government deployments
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy