---
id: "CVE-2026-85249"
kind: "vulnerability"
aliases: ["CVE-2026-85249"]
title: "Apache Camel Tika: parsed document metadata can set Exchange headers"
severity: "medium"
cvss: 6.5
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["apache-camel", "file-processing", "java", "package", "tika"]
not_affected_if: ["no-camel-tika", "versions-patched"]
published_at: "2026-10-19T11:17:23+00:00"
first_seen_at: "2026-10-23T21:57:18+00:00"
updated_at: "2026-10-25T03:57:13+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-85249", "first_seen_at": "2026-10-23T21:57:18+00:00"}]
---

# Apache Camel Tika: parsed document metadata can set Exchange headers

The Apache Camel Tika producer copied every metadata key from a submitted document onto the message as a header without filtering. A crafted file can therefore set headers such as CamelFileName, which downstream components use to decide where content is written.

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

## How to check

- Check the Apache Camel version in the project build file (for example `mvn dependency:tree | grep camel-tika`); affected versions are 4.0.0 up to but not including 4.18.5, and 4.19.0 up to but not including 4.22.1.
- Look for routes that use the Tika producer and then act on headers such as CamelFileName.

## 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.
- Until upgraded, add `removeHeaders("Camel*")` after the Tika producer and before any component that acts on those headers.
- Check routes that read metadata-derived headers, since the fix filters them and they will now be missing.

## Timeline

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

## From the sources

Improper Input Validation vulnerability in Apache Camel Tika component.

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

The Tika producer mapped every metadata key parsed out of the submitted document onto the Exchange as a header, with no filter applied. Document metadata is attacker-controlled content: the party that supplies the file chooses the metadata keys it carries. A crafted document could therefore set Exchange headers that the rest of the route depends on, including headers in the Camel namespace such as CamelFileName, which downstream components use to decide where content is written. The pattern is the same header-injection class as the consumer advisories published previously, reached here through parsed file content rather than through a protocol header.

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. Parsed document metadata is now filtered through a HeaderFilterStrategy before it is mapped onto the Exchange. A route that was reading a metadata-derived header the filter now blocks will see it missing. For deployments that cannot upgrade immediately, strip the Camel namespace after the Tika producer with removeHeaders("Camel*") before any component that acts on those headers.

---

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