Skip to content

Sensitive data exposure through HTTP request/response logging in LoggingRestClientCustomizer

High
theo-ritense published GHSA-3jh5-rr2q-xfv7 May 8, 2026

Package

maven com.ritense.valtimo:web (Maven)

Affected versions

>= 12.4.0, < 12.33.0
>= 13.0.0, < 13.26.0

Patched versions

12.33.0
13.26.0

Description

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-Cookie response 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.logging to WARN or higher (note: this only mitigates the DEBUG logging path; error responses still leak data via the exception message)

Severity

High

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
High
User interaction
None
Scope
Changed
Confidentiality
High
Integrity
Low
Availability
None

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:L/A:N

CVE ID

CVE-2026-44516

Weaknesses

Insertion of Sensitive Information into Log File

The product writes sensitive information to a log file. Learn more on MITRE.