Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid zaken.lezen/documenten.lezen token
-
ExploitPOST to /_zoek search endpoint
-
ExecutionReceive querysets outside authorized types/confidentiality
-
ImpactHarvest unauthorized case/document metadata
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 a valid OAuth/JWT API token carrying the zaken.lezen or documenten.lezen scope - exploitation is only possible for an already-authenticated API client (PR:L), not an anonymous caller. Once such a token is held, the zaken _zoek endpoint returns case metadata across case types and confidentiality levels the token was not authorized for, against default configurations of affected Open Zaak versions 1.0.0 through the fixes. LIMITING FACTORS: document (_zoek) searches only return results for UUIDs the attacker already knows, document content stays protected by a separate download authorization, and the disclosure is limited to metadata rather than full records - so impact is bounded to what a validly-tokenized but under-authorized client can enumerate. |
| Impact | This is a genuine but moderate-severity authorization flaw, not an overhyped high-CVSS issue. The CVSS 3.1 base score of 6.5 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) describes a network-reachable, low-complexity bug whose only impact is confidentiality - there is no integrity or availability effect and scope is unchanged. The decisive limiting signal is PR:L: an attacker must already hold a valid zaken.lezen or documenten.lezen API token, so this is an insider / over-privileged-client / stolen-credential problem rather than an anonymous internet attack. No EPSS score, CISA KEV entry, or public proof-of-concept was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the realistic threat is targeted abuse by a legitimate but under-authorized API consumer rather than mass exploitation. SSVC-style reading: exploitation=none observed, automatable=yes for the zaken endpoint once a token is held (a single POST returns unauthorized results), technical impact=partial (metadata-only disclosure). The C:H rating is defensible because Dutch case metadata can include sensitive personal data subject to AVG/GDPR, but note the disclosure is metadata only - full document content remains protected by a separate download authorization, and document searches additionally require prior knowledge of UUIDs, both of which meaningfully cap real-world impact. |
| Exploit ScenarioDerived | An authenticated API client (e.g. a connected municipal application, or an attacker who has obtained a leaked zaken.lezen or documenten.lezen token) issues a POST to /zaken/api/v1/zaken/_zoek and receives case metadata for case types and confidentiality levels its token was never authorized to see, enabling broad harvesting of sensitive case information. No public exploit code is known, but the attack requires only a standard search request with no special tooling. Document metadata can be similarly retrieved via the _zoek endpoint, though only for UUIDs the attacker already knows. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Missing authorization filtering in Open Zaak's POST search endpoints (/zaken/api/v1/zaken/_zoek and /documenten/api/v1/enkelvoudiginformatieobjecten/_zoek) allows an authenticated API client holding a valid OAuth/JWT token with the zaken.lezen or documenten.lezen scope to retrieve case or document metadata outside the case types and confidentiality levels that token was authorized for. Exploitation requires a legitimate token (authenticated, PR:L) and does not require user interaction; the exposure is limited to metadata, with document searches additionally requiring the attacker to already know the target UUIDs, and document content remaining protected by a separate download authorization. No public exploit code has been identified at time of analysis, and the issue is fixed in Open Zaak 1.27.2, 1.28.2, and 1.29.0, so all earlier releases in the affected branches should be considered vulnerable.
RemediationAI
Vendor-released patch: upgrade to Open Zaak 1.27.2, 1.28.2, or 1.29.0 (depending on the maintained branch in use), which applies authorization filtering to the _zoek querysets and closes the django-loose-fk get_queryset bypass path; see https://github.com/open-zaak/open-zaak/security/advisories/GHSA-f29q-7rpr-jmjx and the release pages linked above. Where an immediate upgrade is not possible, compensating controls are limited because the flaw is in server-side queryset logic rather than a configurable feature: restrict issuance of zaken.lezen and documenten.lezen tokens to trusted consumers only and audit which clients hold them, since exploitation requires a valid token (an anonymous caller cannot trigger it); tighten token authorization scoping so clients receive the narrowest possible set of case types and confidentiality levels; log and review access to the two _zoek endpoints for cross-type or cross-confidentiality enumeration patterns; and, as a last resort, block the POST /zaken/api/v1/zaken/_zoek and POST /documenten/api/v1/enkelvoudiginformatieobjecten/_zoek routes at the reverse proxy for untrusted clients. Be aware that blocking these endpoints breaks legitimate search functionality for all API consumers, and that token-scope restriction will not help if a single token is already authorized across many case types. No public exploit code has been identified at time of analysis and there is no confirmed in-the-wild exploitation, but the low complexity of the abuse (a single authenticated POST) makes prompt patching advisable.
Affected VersionsENISA
Affected Packages
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
Open Zaak is the Dutch Common Ground data and services layer implementing the Zaakgericht Werken (case-oriented working) APIs, built on Django and Django REST Framework. The flaw is CWE-285 (Improper Authorization): the POST-based search viewsets reused a ListFilterByAuthorizationsMixin (src/openzaak/utils/data_filtering.py) that filters result querysets against the authorizations attached to the request's JWT/OAuth token, but the _zoek endpoints did not apply that filter, so results were returned unfiltered by case type or confidentiality level. Source evidence in commit 15456f1a shows the mixin being adjusted to short-circuit when a request has no jwt_auth attribute - the path taken when django-loose-fk internally calls get_queryset on viewsets to resolve URLs to resources - indicating the authorization filter could be silently bypassed in that code path. The impact is a horizontal/vertical authorization failure rather than an injection or memory-safety issue: the attacker's token is valid, but the queryset returned exceeds the token's authorized scope. CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N reflects remote reachability, low attack complexity, a network-reachable service, no integrity or availability impact, and a high confidentiality impact bounded to metadata disclosure.
Know when Open Zaak 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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Network REST API (AV:N), single unconditional request (AC:L), valid read token required (PR:L), sensitive case metadata disclosed with no integrity/availability effect (C:H/I:N/A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
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.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Path traversal in the document-import feature of Open Zaak (1.13.0 through 1.27.1, 1.28.x before 1.28.2, and 1.29.x befo
Open Zaak is a modern, open-source data- and services-layer to enable zaakgericht werken, a Dutch approach to case manag
EUVD-2026-102899
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB