---
id: "CVE-2026-85313"
kind: "vulnerability"
aliases: ["CVE-2026-85313"]
title: "Apache Camel Jetty: enableCORS grants credentials to every origin"
severity: "medium"
cvss: 4.3
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["apache-camel", "java", "jetty", "package", "self-hosted"]
not_affected_if: ["camel-3-or-earlier", "no-enablecors", "no-jetty-endpoint"]
published_at: "2026-10-19T11:17:24+00:00"
first_seen_at: "2026-10-23T21:57:18+00:00"
updated_at: "2026-10-25T04:39:41+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-85313", "first_seen_at": "2026-10-23T21:57:18+00:00"}]
---

# Apache Camel Jetty: enableCORS grants credentials to every origin

Turning on enableCORS for a Jetty endpoint in Apache Camel installs a CORS filter that accepts every origin and allows credentials. A web page on any other site can then make credentialed requests to the endpoint and read the responses.

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

## How to check

- Search the Camel routes and configuration for `enableCORS` on Jetty endpoints.
- Check the Camel version with `mvn dependency:tree | grep camel-jetty` or the Camel version in the build file, and compare it against `4.18.5` and `4.22.1`.

## Fix

- Upgrade Apache Camel to `4.23.0`.
- On the 4.18.x LTS stream, upgrade to `4.18.5`; on the 4.22.x LTS stream, upgrade to `4.22.1`.
- If an upgrade is not possible yet, configure the Jetty CrossOriginFilter parameters explicitly and list the allowed origins instead of relying on `enableCORS`.

## Timeline

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

## From the sources

Permissive Cross-domain Policy with Untrusted Domains vulnerability in Apache Camel Jetty component.

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

Setting enableCORS on a Jetty endpoint installed Jetty's CrossOriginFilter with its stock defaults, which accept every origin and allow credentials. An operator asking for CORS therefore obtained a policy that lets a page on any origin make credentialed cross-origin requests to the endpoint and read the responses, without any indication that turning the option on had chosen an allow-all policy rather than an empty one to be filled in. This is the same defect class as the platform-http-vertx advisory published alongside it, in a different component.

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. enableCORS no longer grants credentials to an origin the operator did not name. A deployment that relied on any origin being accepted must now list its origins explicitly. For deployments that cannot upgrade immediately, configure the CrossOriginFilter parameters explicitly rather than relying on what enableCORS installs, naming the allowed origins.

---

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