Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain privileged log access
-
DeliveryMonitor ERROR logs for RestClient exceptions
-
ExploitExtract tokens/credentials from exception messages
-
ExecutionAuthenticate to external APIs as Valtimo
-
ImpactAccess sensitive data on external systems
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A09:2025 - Security Logging & Alerting Failures
ASVS 5.0
V16 - Security Logging and Error Handling Log data sanitization
|
| Exploitation Conditions | Requires existing privileged access to one of three exposure paths: (1) filesystem or stdout access to application logs where Valtimo is deployed, (2) authenticated access to log aggregation tools (Grafana/Loki or similar) ingesting Valtimo logs, or (3) Valtimo admin role to access the built-in logging module (available since version 12.5.0). The vulnerability is triggered passively whenever Valtimo makes outgoing HTTP requests that receive error responses (4xx/5xx status codes) - no attacker interaction with Valtimo itself is required to populate logs with sensitive data. Default Spring Boot exception handling at ERROR level means production deployments leak data even with DEBUG logging disabled. The 'Changed Scope' in CVSS reflects that leaked credentials allow subsequent attacks against external APIs, not Valtimo itself. Limiting factors: attacker needs pre-existing privileged access to logs (not a remote unauthenticated attack) and only data from error responses is logged (successful API calls logged at DEBUG only). |
| Impact | CVSS 7.6 (AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:L/A:N) indicates network-accessible vulnerability requiring high privileges with scope change and high confidentiality impact. However, this is NOT a remote code execution or authentication bypass - it is an information disclosure requiring existing privileged access to logs. Real-world risk depends heavily on deployment: organizations using centralized logging (Grafana/Loki mentioned in description) or granting admin role liberally face higher exposure. The 'Scope Changed' metric reflects that leaked credentials for external APIs (ZGW services specifically mentioned) allow attackers to pivot beyond Valtimo's security boundary. No EPSS score provided in input data. No CISA KEV listing - this is not being actively exploited in the wild. No public POC exists; exploitation is passive (credential harvesting from logs) rather than active attack. Primary risk is long-term credential exposure in log retention systems, particularly in multi-tenant environments or regulated sectors handling Dutch BSN numbers (social security). Mitigation difficulty: changing log levels only partially mitigates (ERROR path still leaks), making upgrade the only complete fix. |
| Exploit ScenarioDerived | An attacker with Valtimo admin role access or read access to centralized logging infrastructure (Grafana/Loki) reviews ERROR-level logs for failed external API calls. When Valtimo's RestClient encounters HTTP error responses from integrated services (e.g., ZGW document management APIs), the full request bodies containing OAuth tokens and response headers with Set-Cookie session tokens are logged. The attacker extracts these credentials and uses them to impersonate the Valtimo application against the external API, bypassing that service's authentication and accessing citizen case data or government documents. If logs are retained long-term, the attacker can harvest credentials over time to build persistent access to external systems. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 11, 2026
Sensitive credentials and personal data leak through production error logs in Valtimo's web module via LoggingRestClientCustomizer. The component intercepts all outgoing Spring RestClient HTTP calls and includes full request/response bodies and headers in HttpClientErrorException messages logged at ERROR level, exposing JWT tokens, API keys, OAuth tokens, session cookies, and personal data (BSN numbers, case details) to anyone with log access or Valtimo admin role. Vendor-released patches available for both affected release lines (12.33.0 and 13.26.0). No public exploit identified at time of analysis, but exploitation requires only privileged access to logs rather than technical exploitation of a code vulnerability.
RemediationAI
Upgrade to patched versions: 12.33.0 for v12 release line (PR #600 at https://github.com/valtimo-platform/valtimo/pull/600) or 13.26.0 for v13 release line (PR #599 at https://github.com/valtimo-platform/valtimo/pull/599). The patches remove request/response reports, headers, and response bodies from HttpClientErrorException messages, retaining only HTTP status code and status text in exceptions while preserving full DEBUG-level logging for development troubleshooting. If immediate upgrade is not feasible, implement layered compensating controls: (1) Restrict access to application logs and disable the Valtimo built-in logging module for non-superadmin users, (2) Set log level for com.ritense.valtimo.web.logging to WARN or higher via LOGGING_LEVEL_COM_RITENSE_VALTIMO_WEB_LOGGING environment variable - note this only prevents DEBUG path leakage; ERROR-level exception messages still leak data until patched, (3) Rotate potentially exposed credentials for all external APIs integrated with Valtimo (ZGW services, OAuth providers) if logs were accessible to untrusted parties, (4) Review log retention policies and purge historical logs containing sensitive data. Vendor notes related issue GHSA-hfrg-mcvw-8mch for similar exposure in InboxHandlingService.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 5 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability resides in com.ritense.valtimo.web.logging.LoggingRestClientCustomizer, a Spring RestClientCustomizer that intercepts all outgoing HTTP requests made via Spring's RestClient. The component logs complete request/response data, but critically, when HTTP error responses occur, it embeds full request bodies, response bodies, and response headers into the HttpClientErrorException constructor. Spring's default exception handling logs these exceptions at ERROR level regardless of DEBUG settings, bypassing the intended DEBUG-only logging control. This represents CWE-532 (Insertion of Sensitive Information into Log File), where the logging framework inadvertently becomes a data exfiltration vector. The affected packages are pkg:maven/com.ritense.valtimo:web versions 12.4.0-12.32.x and 13.0.0-13.25.x. The fix strips request/response reports, headers, and bodies from exception messages while preserving DEBUG-level detailed logging for troubleshooting.
Know when Grafana 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:L/A:N
Primary rating from Vendor (https://github.com/valtimo-platform/valtimo) · only source for this CVE.
CVSS VectorVendor: https://github.com/valtimo-platform/valtimo
DescriptionCVE.org
Summary
The LoggingRestClientCustomizer in the web module automatically intercepts all outgoing HTTP calls made via Spring's RestClient and logs the full request body, response body, and response headers. When an error response is received, this information is included in the thrown HttpClientErrorException message, which is logged at ERROR level by Spring's default exception handling - regardless of the application's DEBUG log level setting.
Impact
The logged data can contain highly sensitive information including:
- Authentication credentials (JWT tokens, API keys, OAuth tokens) in request bodies or response headers
- Personal data (BSN, email addresses, case details) in request/response bodies
- Session tokens in
Set-Cookieresponse headers
This data is exposed to:
- Anyone with access to application logs (stdout/log files)
- Users with access to logging aggregation tools (e.g. Grafana/Loki)
- Any Valtimo user with the admin role, through the built-in logging module (since Valtimo 12.5.0)
Leaked authentication credentials could be used to impersonate the Valtimo application against the target external API (e.g. ZGW services), compromising that API's security boundary.
Related: GHSA-hfrg-mcvw-8mch (similar sensitive data exposure in InboxHandlingService)
Affected Code
com.ritense.valtimo.web.logging.LoggingRestClientCustomizer#intercept in the web module.
Patched Versions
The vulnerability is fixed in:
- 12.33.0 (v12 release line) - see PR #600
- 13.26.0 (v13 release line) - see PR #599
The fix removes the request/response report, headers, and response body from the HttpClientErrorException constructor; only the HTTP status code and status text remain. The full request/response report is still emitted at DEBUG level (disabled in production).
Mitigation
If you cannot upgrade to a patched version immediately, consider:
- Restricting access to application logs and the Valtimo logging module
- Adjusting the log level for
com.ritense.valtimo.web.loggingto WARN or higher (note: this only mitigates the DEBUG logging path; error responses still leak data via the exception message)
Executive ViewAI
Valtimo's web module logging component inadvertently exposes sensitive credentials and personal data (including JWT tokens, API keys, and personal identifiers) in production error logs accessible to administrators and log readers. This creates a direct pathway for insider threat actors or compromised admin accounts to extract authentication credentials and regulated personal data without requiring technical exploitation.
Apply vendor patch. Interim mitigations if patching is delayed: (1) Restrict file system and log management system access to production logs containing HTTP error messages to security operations only; (2) Enable centralized log aggregation with encryption in transit; (3) Implement real-time alerting for suspicious queries against logs containing JWT or API key patterns; (4) Rotate all credentials that may have been exposed via error logs within the past 90 days.
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.
The SQL Expressions experimental feature of Grafana allows for the evaluation of `duckdb` queries containing user input.
The `Release PR Merged` workflow in the github repo taosdata/grafanaplugin is subject to a command injection vulnerabili
An issue was discovered in Grafana through 7.3.4, when integrated with Zabbix. Rated critical severity (CVSS 9.8), this
A signature verification vulnerability exists in crewjam/saml. Rated critical severity (CVSS 9.8), this vulnerability is
Grafana 2.x, 3.x, and 4.x before 4.6.4 and 5.x before 5.2.3 allows authentication bypass because an attacker can generat
Authentication bypass in Grafana OnCall through 1.16.11 lets unauthenticated remote attackers mint a valid PluginAuthTok
Insertion of sensitive information in the centralized (Grafana) logging system in ProLion CryptoSpike 3.0.15P2 allows re
A cross-site scripting (XSS) vulnerability exists in Grafana caused by combining a client path traversal and open redire
The avatar feature in Grafana 3.0.1 through 7.0.1 has an SSRF Incorrect Access Control issue. Rated high severity (CVSS
Grafana is an open-source platform for monitoring and observability. Rated high severity (CVSS 7.5), this vulnerability
Grafana 8.4.3 allows unauthenticated access via (for example) a /dashboard/snapshot/*?orgId=0 URI. Rated high severity (
Grafana 8.4.3 allows reading files via (for example) a /dashboard/snapshot/%7B%7Bconstructor.constructor'/.. Rated high
EUVD-2026-30335
GHSA-3jh5-rr2q-xfv7
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB