Skip to main content

Apache Camel Docling CVE-2026-95628

HIGH
2026-10-23
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Influence externally-sourced value into route
  2. Delivery
    Reach CamelDoclingCustomArguments header (filtering absent)
  3. Exploit
    Supply absolute path to allowlisted flag
  4. Execution
    validatePathSafety fails to reject absolute path
  5. Impact
    docling subprocess points at attacker-chosen directory

Vulnerability Assessment

Exploitation Conditions

Exploitation requires camel-docling running in CLI mode (the default, and the only mode that passes custom arguments to docling) and an attacker able to control the contents of the CamelDoclingCustomArguments header - specifically supplying an absolute path (e.g. to the allowlisted --artifacts-path flag), in either the separate 'flag value' or attached 'flag=value' form, which the pre-fix validatePathSafety accepted because it only rejected ../ sequences and normalized paths retaining a .. element. The key limiting factor is reachability of that header: it belongs to the Camel header namespace, which default header filtering removes (the JMS and Kafka consumers strip it), so the flaw is only reachable where a route explicitly forwards externally-influenced values into the header or where a consumer maps incoming headers without that default filtering. Additional limits: PR:L means some privilege/position to influence the message is needed, impact is confined to directories the Camel process can already access, and the 4.15.x-4.17.x and 4.19.x-4.21.x lines are end-of-life and will not be fixed.

Impact

This is a medium-severity (CVSS 3.1 5.4, AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L) path-traversal flaw in the Apache Camel camel-docling component, assessed as an incomplete fix of CVE-2026-40047. The signals point to limited real-world urgency rather than an emergency. The vuln.today Decision label is 'awaiting_data', and there is no CISA KEV listing, so this is not confirmed as actively exploited. No EPSS score was supplied in the input, so exploitation probability cannot be quantified from the data. The references consist of the vendor advisory, a JIRA issue, and three GitHub pull requests - these are remediation artifacts, not exploit code, so no public exploit has been identified at time of analysis. The CVSS vector claims AV:N and PR:L, but the description materially constrains reachability: exploitation requires that an attacker-influenced value actually reach the CamelDoclingCustomArguments header, which lives in the Camel header namespace that default header filtering (as used by the JMS and Kafka consumers) strips from incoming messages. The network vector is therefore only realistic where a route deliberately forwards external input into that header or a consumer maps incoming headers without the default filter - a routing/configuration dependency the raw CVSS score does not capture. The impact is bounded: C:N/I:L/A:L reflects that an attacker can redirect the docling subprocess to a different directory (e.g. via the allowlisted --artifacts-path flag) that the Camel process can access, not full code execution or confidentiality loss. Net: a real defect worth patching on a normal cadence, but the combination of medium severity, required privileges, configuration-dependent reachability, awaiting_data priority, and absence of KEV/EPSS/PoC argues against treating it as a high-priority emergency.

Exploit ScenarioDerived

In a Camel deployment running camel-docling in the default CLI mode, a route forwards an externally-influenced value into the CamelDoclingCustomArguments header (or a consumer maps incoming headers without Camel's default header filtering). An attacker who can shape that value supplies an absolute path to an allowlisted path-valued flag such as --artifacts-path, and because validatePathSafety only rejected relative traversal and never absolute paths, the value passes unchanged and the docling process is pointed at an arbitrary directory the Camel process can access. No public exploit code was identified in the provided references.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 23, 2026

Path traversal (CWE-22) in the Apache Camel camel-docling component leaves an absolute-path bypass open after the CVE-2026-40047 fix, letting a party who controls the CamelDoclingCustomArguments header point the docling CLI subprocess at any directory the Camel process can already read. Affected are camel-docling 4.15.0 before 4.18.5 and 4.19.0 before 4.22.2; the 4.15.x-4.17.x and 4.19.x-4.21.x lines are end-of-life and will not be fixed. Rated CVSS 3.1 5.4 medium (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L), exposure is limited to CLI mode (the default) where a route forwards externally influenced values into the Camel header namespace or a consumer maps incoming headers without Camel's default header filtering; no public exploit identified at time of analysis.

RemediationAI

Vendor-released patch: Apache Camel 4.23.0 fixes the issue; users on the 4.22.x stream should upgrade to 4.22.2 and users on the 4.18.x stream to 4.18.5 (fixes landed via pull requests https://github.com/apache/camel/pull/26738, https://github.com/apache/camel/pull/26743 and https://github.com/apache/camel/pull/26744, with the change tracked in CAMEL-24893). validatePathSafety now also rejects a path-like custom-argument value that is absolute, in both the separate-element and flag=value forms, while still accepting relative values without traversal segments. Deployments on the end-of-life 4.15.x-4.17.x and 4.19.x-4.21.x lines must move to a supported release since no fix will be issued for them. Where an upgrade cannot be applied immediately, the vendor advises not building the CamelDoclingCustomArguments header from values that originate outside the deployment, removing that header from messages arriving from outside before they reach a docling endpoint, and ensuring consumers that map incoming message headers drop the Camel header namespace so only the route itself chooses the custom arguments; note that this depends on route-level discipline and on consumers not bypassing default header filtering, and it does not address other docling issues such as CVE-2026-78163. Full advisory: https://camel.apache.org/security/CVE-2026-95628.html.

Affected ProductsAI

Apache Camel camel-docling (Maven coordinates org.apache.camel:camel-docling) versions 4.15.0 before 4.18.5 and 4.19.0 before 4.22.2. The 4.15.x through 4.17.x and 4.19.x through 4.21.x release lines reached end of life before this issue was resolved and will not receive a fix. No CPE identifiers were supplied in the input data, so identification should be based on the Maven coordinate and version range. Vendor advisory: https://camel.apache.org/security/CVE-2026-95628.html; the accompanying JIRA record is https://issues.apache.org/jira/browse/CAMEL-24893, and the preceding related flaw is documented at https://camel.apache.org/security/CVE-2026-40047.html.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

DoclingProducer assembles the command line of the external docling tool and appends the string list supplied in the CamelDoclingCustomArguments header. The CVE-2026-40047 fix restricted the accepted flags to an allowlist and added validatePathSafety to keep path-like values inside the intended working directory, but that helper only rejected values containing a ../ or ..\ traversal sequence and values whose normalized form still retained a .. element. An absolute path contains neither, so it passed validation unchanged, whether supplied as a separate list element after its flag or attached to the flag after an equals sign - for example as the directory given to the allowlisted --artifacts-path flag. This is inconsistent with how the component handles input file paths, where resolveWithinInputBaseDirectory() confirms a resolved path stays inside a configured base directory; custom-argument path values had no equivalent containment. This is a CWE-22 improper limitation of a pathname to a restricted directory. The key control is reachability: the header lives in the Camel header namespace, which Camel's default header filtering (HeaderFilterStrategy, applied by the JMS and Kafka consumers) strips from incoming messages, so the flaw only manifests where a route explicitly forwards externally influenced values into the header or where a consumer maps incoming headers without that default filtering. Impact is confined to directories the Camel process can already access, which is why confidentiality is scored None and integrity/availability are Low.

Know when Java gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

vuln.today AI 5.4 MEDIUM

Reachable over the network through a route that forwards external input into a header, but requires privilege to influence the message (PR:L); impact is limited to redirecting the docling process, so C:N, I:L, A:L.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Executive ViewAI

Why It Matters

A path-traversal flaw in the Apache Camel camel-docling component (CVE-2026-95628) allows a user who can influence the CamelDoclingCustomArguments header to direct the docling CLI subprocess to read directories accessible to the Camel process. Applications built on the 4.15.x-4.17.x and 4.19.x-4.21.x release lines cannot be remediated via a vendor fix because those lines are end-of-life, creating a persistent exposure for teams still running them. Leadership should care because any route that forwards untrusted input into Camel headers could allow unintended data access and affect confidentiality of files readable by the service account.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis for end-of-life lines; interim mitigations include enforcing Camel's default header filtering, stripping or allowlisting the CamelDoclingCustomArguments header at ingress, avoiding routes that forward untrusted input into Camel headers, running the Camel process under a least-privilege account, and migrating to camel-docling 4.18.5 or 4.22.2.

Threat Intelligence Overview

Prevalence
Low
niche AI document-conversion component within Camel, limited adoption
Data Quality
1 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy