Improper Neutralization of Special Elements used in an Expression Language Statement ('Expression Language Injection') Affecting org.apache.camel:camel-aws2-s3 package, versions [4.8.0,4.18.5)[4.19.0,4.22.2)


Severity

Recommended
0.0
medium
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.84% (58th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Improper Neutralization of Special Elements used in an Expression Language Statement ('Expression Language Injection') vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-JAVA-ORGAPACHECAMEL-21816703
  • published29 Oct 2026
  • disclosed26 Oct 2026
  • creditAndrea Cosentino

Introduced: 26 Oct 2026

NewCVE-2026-95664  (opens in a new tab)
CWE-917  (opens in a new tab)

How to fix?

Upgrade org.apache.camel:camel-aws2-s3 to version 4.18.5, 4.22.2 or higher.

Overview

Affected versions of this package are vulnerable to Improper Neutralization of Special Elements used in an Expression Language Statement ('Expression Language Injection') via the determineKey function in the camel-aws2-s3 component. An attacker who can upload objects to a bucket consumed by a Camel route can include Simple expression markers in an object name; the consumer places that name in the CamelAwsS3Key header, which the producer evaluates even when keyName is configured. The attacker can cause expressions to run in the Camel process, exposing JVM, environment, or configuration values through destination object names if they can inspect that bucket, or invoking registry beans when camel-bean is available and triggering method side effects.

Workarounds

  • Before an aws2-s3 producer, remove the CamelAwsS3Key header with removeHeader("CamelAwsS3Key") so the producer uses the endpoint’s configured keyName instead of evaluating a key supplied by the message.
  • Alternatively, reject exchanges whose CamelAwsS3Key header contains ${ or $simple{ to prevent those values from reaching the producer for evaluation.
  • Allow only trusted principals to write to buckets consumed by Camel routes, preventing untrusted users from supplying object names that can reach an aws2-s3 producer.

CVSS Base Scores

version 4.0
version 3.1