---
id: "CVE-2026-85257"
kind: "vulnerability"
aliases: ["CVE-2026-85257"]
title: "Apache Camel CXF: undeclared SOAP faults leak internal class names and stack traces"
severity: "medium"
cvss: 5.3
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["apache-camel", "camel-cxf", "java", "package", "soap"]
not_affected_if: ["declared-faults-only", "no-cxf-soap-consumer"]
published_at: "2026-10-19T11:17:23+00:00"
first_seen_at: "2026-10-23T21:57:18+00:00"
updated_at: "2026-10-25T04:25:17+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-85257", "first_seen_at": "2026-10-23T21:57:18+00:00"}]
---

# Apache Camel CXF: undeclared SOAP faults leak internal class names and stack traces

When a route behind an Apache Camel CXF SOAP consumer fails with an exception the service contract does not declare, the error is returned to the SOAP client in the fault, exposing class and package names and exception messages. An external caller who can trigger a failure can read internal details about the deployment.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the Camel version in the project's dependencies: `camel-cxf` or `camel-cxf-soap` below `4.18.5` or in the range `4.19.0` to `4.22.0`.
- Check whether CXF SOAP consumers set `muteException=false` or otherwise expose stack traces in fault detail.

## Fix

- Upgrade Apache Camel to `4.23.0`, or to `4.18.5` on the 4.18.x LTS stream, or to `4.22.1` on the 4.22.x LTS stream.
- Keep the default `muteException=true`; set `muteException=false` only if the previous output is required.
- If upgrading is not possible yet, declare the allowed exceptions as SOAP faults and map all other failures onto them in an onException handler.

## Timeline

- 2026-10-23T21:57:18+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-85257

## From the sources

Generation of Error Message Containing Sensitive Information vulnerability in Apache Camel CXF component.

This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.

When a route behind a CXF SOAP consumer failed with an exception the service contract does not declare, the exception was described back to the SOAP client in the fault: CXF copies the message into the SOAP faultstring, and can be configured to place the stack trace in the fault detail. An external caller able to provoke a failure could therefore read internal detail about the deployment - class and package names, and whatever the exception message carries. Declared faults, annotated @WebFault, are a different matter: those are part of the published contract that clients are written against, and suppressing them would break the service rather than protect anything.

Upgrade to Apache Camel 4.23.0, which fixes the issue. Users on the 4.18.x LTS releases stream should upgrade to 4.18.5. Users on the 4.22.x LTS releases stream should upgrade to 4.22.1. A muteException consumer option, defaulting to true, replaces an undeclared route failure with a generic fault carrying no class name, message or stack trace. Faults the contract declares are reported exactly as before. Set muteException=false to restore the previous output. For deployments that cannot upgrade immediately, declare the exceptions the service is allowed to report and map every other failure onto one of them in an onException handler, so no undeclared exception reaches the fault.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
