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 applicationsLearn about Arbitrary Code Injection vulnerabilities in an interactive lesson.
Start learningUpgrade org.apache.camel:camel-dynamic-router to version 4.18.5, 4.22.1 or higher.
Affected versions of this package are vulnerable to Arbitrary Code Injection via DynamicRouterControlProducer in the dynamic-router-control component. An attacker can execute a supplied expression with the Camel process’s privileges by sending a subscribe or update control message containing a predicate and expression-language name to a transport routed to a dynamic-router-control endpoint; the compiled predicate is evaluated against exchanges routed through that channel, potentially enabling arbitrary code execution and compromising the application.
Notes
Workarounds
dynamic-router-control endpoint; this prevents untrusted senders from supplying subscription expressions for evaluation.CamelDynamicRouterPredicate and CamelDynamicRouterExpressionLanguage headers, and clear the predicate and expressionLanguage fields from any DynamicRouterControlMessage before it reaches the endpoint. This keeps those expression inputs from being supplied by the message.dynamic-router-control endpoint; this limits who can reach the vulnerable control path.