org.apache.camel:camel-dynamic-router@4.10.8

  • latest version

    4.23.0

  • latest non vulnerable version

  • first published

    4 years ago

  • latest version published

    9 days ago

  • licenses detected

  • package registry

  • Direct Vulnerabilities

    Known vulnerabilities in the org.apache.camel:camel-dynamic-router package. This does not include vulnerabilities belonging to this package’s dependencies.

    Fix vulnerabilities automatically

    Snyk's AI Trust Platform automatically finds the best upgrade path and integrates with your development workflows. Secure your code at zero cost.

    Fix for free
    VulnerabilityVulnerable Version
    • C
    Arbitrary Code Injection

    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

    • Reaching the control endpoint requires the attacker to be able to send on a transport whose route forwards messages to it; the endpoint adds no separate authentication or user-interaction requirement.

    Workarounds

    • Do not forward messages from untrusted or shared transports to a dynamic-router-control endpoint; this prevents untrusted senders from supplying subscription expressions for evaluation.
    • If control messages must cross such a transport, authenticate senders and remove the 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.
    • Restrict who can send to transports that feed a dynamic-router-control endpoint; this limits who can reach the vulnerable control path.

    How to fix Arbitrary Code Injection?

    Upgrade org.apache.camel:camel-dynamic-router to version 4.18.5, 4.22.1 or higher.

    [4.4.0,4.18.5)[4.19.0,4.22.1)