Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain all-authorizations application token
-
DeliverySubmit import CSV with traversal bestandspad path
-
ExploitCelery worker resolves path outside base dir
-
ExecutionWorker copies host file into document storage
-
PersistDownload file via Documenten API
-
ImpactExfiltrate server secrets
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires: (1) a valid Open Zaak all-authorizations application token (PR:H - a highly privileged credential, the primary limiting factor); (2) the document-import feature in use with IMPORT_DOCUMENTEN_BASE_DIR configured and a reachable import API; and (3) the target file must be readable by the Celery service account. The attacker-controlled bestandspad CSV field must contain an absolute path or parent-traversal (../) sequence that resolves outside the import base directory. Affected versions are 1.13.0 up to (but not including) the fixes in 1.27.2, 1.28.2, and 1.29.0; no user interaction is needed and the attack is scriptable once a token is held. The requirement for a trusted all-authorizations token is the key factor that keeps real-world risk below the raw CVSS network/low-complexity signals. |
| Impact | This is a genuine but constrained path-traversal information-disclosure flaw (CWE-200), not a drop-everything priority. The CVSS vector (AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N = 6.8 Medium) is internally consistent with the description: exploitation is network-reachable and low-complexity, but requires PR:H - specifically an all-authorizations application token, a highly privileged credential - which sharply limits the realistic attacker population to already-trusted integrations or an attacker who has stolen such a token. The scope change (S:C) and C:H are justified because files owned by the Celery service account outside the application's intended data boundary (server secrets, other private files) become retrievable, with no integrity or availability impact. No EPSS score, KEV listing, POC, or SSVC data was provided in the input; per precision rules this means 'no public exploit identified at time of analysis.' There is no signal of active exploitation - absence of EPSS/KEV is not evidence of either direction, but combined with the PR:H barrier and the product's narrow (Dutch government) deployment base, mass exploitation is unlikely. Treat as a prioritized patch for the specific organizations running Open Zaak, especially those exposing the document import API to multiple token holders, rather than an emergency across general infrastructure. |
| Exploit ScenarioDerived | An attacker holding (or having compromised) an Open Zaak all-authorizations application token submits a document-import CSV in which the bestandspad field is an absolute or parent-traversal path (e.g. /etc/openzaak/secrets or ../../etc/passwd) pointing to a file readable by the Celery service account. The worker copies that file into document storage, after which the attacker retrieves its contents through the normal document download API. No public exploit code was identified at time of analysis, but the vulnerable code path is confirmed by the vendor security advisory and the fixing commit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
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 before 1.29.0) lets a client holding an all-authorizations application token supply an absolute or parent-traversal bestandspad value in an import CSV, causing the Celery worker to copy an arbitrary file readable by its service account into document storage, where it can then be fetched through the normal document download API and leak server secrets. Exploitation is authenticated with a highly privileged token (CVSS PR:H), requires the document-import feature to be active, and is a straightforward information-disclosure issue (CWE-200); no public exploit code was identified at time of analysis, and the privileged-token prerequisite keeps practical risk below the raw network/low-complexity score. Fixes are available in 1.27.2, 1.28.2, and 1.29.0.
RemediationAI
Vendor-released patch: upgrade to 1.27.2, 1.28.2, or 1.29.0 depending on your maintenance line, using the release tags linked from the advisory at https://github.com/open-zaak/open-zaak/security/advisories/GHSA-x5cj-23hr-5r54; the fix commits are 4b23957b55ab792bc2ba1fbc5ce6918881b62ab8, 69c78ce2a0edb45bec8809bc2205585c5f8a4054, and 8acd5e59e0132aa19284bf22f7b3defca279e2ce. If you cannot patch immediately, the highest-value compensating controls are: disable the document-import endpoint or workflow when it is not actively needed (trade-off: loss of bulk import functionality), and audit and tightly scope all-authorizations application tokens so that only trusted internal integrations can reach the import API, since the token is the primary barrier to exploitation (trade-off: may break legitimate automated clients until they are reissued with narrower scopes). Additionally, run the Celery worker under a dedicated service account with read access limited to the intended import directory (trade-off: may require changes to shared filesystems or deployment manifests), and monitor logs for the attempt_to_import_file_outside_base_dir warning introduced by the fix so any pre-patch attempts are detected. Rotate any secrets that could have been readable by the Celery service account if compromise is suspected.
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 a Django/Python application implementing the Dutch API standard for case-oriented working; the affected code lives in src/openzaak/components/documenten/tasks.py, specifically the _import_document_row Celery task used by the bulk document-import pipeline. The task combined settings.IMPORT_DOCUMENTEN_BASE_DIR with the attacker-controlled bestandspad CSV field via Path(base) / Path(file_path) without normalization or a containment check, so an absolute path or a ../ sequence could resolve outside the configured import directory. The root cause is a classic path-traversal / insufficient input validation flaw categorized as CWE-200 (exposure of sensitive information): the worker read the resolved file and uploaded it to blob storage (S3/Azure shown in the vendored test cassettes), after which the file was retrievable through the public document download API. The upstream fix (commit 4b23957b5) resolves the base directory with strict=True, resolves the candidate path, and rejects it unless candidate.is_relative_to(base), logging an attempt_to_import_file_outside_base_dir warning and marking the row processed. The CPE cpe:2.3:a:open-zaak:open-zaak:*:*:*:*:*:*:*:* reflects a version-agnostic affected-product record.
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:H/UI:N/S:C/C:H/I:N/A:N
All-authorizations token gives PR:H over a network API (AV:N/AC:L/UI:N); reading host files outside the app boundary is a scope change (S:C) with C:H and no integrity/availability impact.
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.13.0 until 1.27.2, 1.28.2, and 1.29.0, _import_document_row in src/openzaak/components/documenten/tasks.py uses the attacker-controlled bestandspad CSV field without ensuring that the resolved path remains under IMPORT_DOCUMENTEN_BASE_DIR. A client with an all-authorizations application token can supply an absolute or parent-traversal path to a file readable by the Celery service account. The worker copies that file into document storage, allowing its contents to be retrieved through the normal document download API and exposing server secrets or other private files. 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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Missing authorization filtering in Open Zaak's POST search endpoints (/zaken/api/v1/zaken/_zoek and /documenten/api/v1/e
Open Zaak is a modern, open-source data- and services-layer to enable zaakgericht werken, a Dutch approach to case manag
EUVD-2026-102900
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB