---
id: "CVE-2026-85315"
kind: "vulnerability"
aliases: ["CVE-2026-85315"]
title: "Apache Camel gRPC: route exception messages leak to calling clients"
severity: "medium"
cvss: 5.3
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["apache-camel", "grpc", "java", "microservices", "package"]
not_affected_if: ["fixed-version", "muteexception-default-true", "no-grpc-consumer"]
published_at: "2026-10-19T11:17:24+00:00"
first_seen_at: "2026-10-23T21:57:18+00:00"
updated_at: "2026-10-25T04:25:14+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-85315", "first_seen_at": "2026-10-23T21:57:18+00:00"}]
---

# Apache Camel gRPC: route exception messages leak to calling clients

When a route behind a Camel gRPC consumer fails, the exception message is copied into the gRPC status description, which is sent to the calling client. An external caller who can trigger a failure can read internal details such as class names, paths, host names and connection information.

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

## How to check

- Check the Camel version in the project, for example with `mvn dependency:tree | grep camel-grpc` or the lockfile, and compare against the fixed ranges below.
- Search routes for gRPC consumers (`grpc://` endpoints) and check whether `muteException` is set to `false` on them.

## Fix

- Upgrade `camel-grpc` to `4.23.0`, or to `4.18.5` on the 4.18.x LTS line, or to `4.22.1` on the 4.22.x LTS line.
- Leave `muteException` at its default of `true`, or add an onException handler that maps failures to an explicit status so the exception message never reaches the description.

## Timeline

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

## From the sources

Generation of Error Message Containing Sensitive Information vulnerability in Apache Camel gRPC 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 gRPC consumer failed, the exception's message was placed into the gRPC status description. Unlike the status cause, which stays local to the server, the description is transmitted to the calling client, so an external caller able to provoke a failure could read the internal error message. What that discloses depends on the exception, and in practice includes class and package names, paths, host names and connection detail carried in messages. This is the gRPC member of the same unmuted-consumer-exception family as the knative, mina and CXF advisories published alongside it.

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, puts a generic description in the status instead of the route exception's message. Set muteException=false to restore the previous output. For deployments that cannot upgrade immediately, map failures onto an explicit status in an onException handler so the framework never copies the exception message into the description.

---

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