SecBoard
Zurück zur CVE-Übersicht

CVE-2026-46456

CRITICAL(9.8)

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Risk Signal Score25/100 — MITTEL
  • CVSS 9.8 — Kritisch

Erwähnungen (letzte 60 Tage)

Artikel

EPSS-Score

0.8%

Exploit-Wahrscheinlichkeit (30 Tage)

CVSS Score

9.8

Technische Schwere

Beschreibung

Improper Input Validation vulnerability in Apache Camel AWS2-SQS Component. The camel-aws2-sqs component map inbound message attributes into the Camel Exchange through a component-specific HeaderFilterStrategy. Sqs2HeaderFilterStrategy configured only an outbound filter (setOutFilterPattern, which blocks Camel*, breadcrumbId and org.apache.camel.* headers being written to the broker) but did not configure an inbound filter. As a result, when Sqs2Consumer copies each SQS MessageAttribute into the Exchange via HeaderFilterStrategy.applyFilterToExternalHeaders, DefaultHeaderFilterStrategy applied no inbound rule and treated every header name as not filtered - including Camel-internal control headers such as CamelHttpUri, CamelFileName or CamelSqlQuery - copying them unmodified onto the Camel message. Any principal able to send messages to the consumed SQS queue (for example a cross-account sender or a lower-privileged in-account component holding sqs:SendMessage) could therefore set arbitrary Camel control headers that influence the behaviour of downstream producers in the route (for example redirecting an HTTP producer, changing a file name, or overriding a query); the injected headers also persist across internal direct, seda and vm hops. The concrete downstream impact depends on which producers the route uses. This issue affects Apache Camel: from 4.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0. Users are recommended to upgrade to version 4.21.0, which fixes the issue. If users are on the 4.14.x LTS releases stream, then they are suggested to upgrade to 4.14.8. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.3. The fix adds an inbound HeaderFilterStrategy rule to Sqs2HeaderFilterStrategy that filters the Camel header namespace case-insensitively on inbound mapping, so sender-supplied Camel* / camel* headers are no longer copied into the Exchange. For deployments that cannot upgrade immediately, strip the Camel control headers from inbound messages before they reach any downstream producer (for example removeHeaders('Camel*') and removeHeaders('camel*') at the start of the route), and restrict who may send to the consumed SQS queue by applying least-privilege sqs:SendMessage permissions on the queue resource policy.

Erkennung & Indikatoren

Ausnutzung

In den geprüften Quellen nicht genannt

Behobene Versionen

  • 4.14.8
  • 4.18.3
  • 4.21.0

Threat-Hunting-Queries

Diese Schwachstelle ermöglicht es Angreifern, Camel-Kontroll-Header in Nachrichten einzuschleusen, die von der AWS2-SQS-Komponente verarbeitet werden. Die Detektion konzentriert sich auf das Verhalten von Apache Camel-Anwendungen, die unerwartete oder manipulierte Header in ihren Nachrichtenflüssen verarbeiten. Da die genaue Auswirkung von den verwendeten Downstream-Produzenten abhängt, sind gener

Sentinel/Defender KQL

let suspicious_headers = dynamic(['CamelHttpUri', 'CamelFileName', 'CamelSqlQuery']);
SecurityEvent
| where EventID == 4688 // Process Creation (Windows)
| where CommandLine contains "java" and CommandLine contains "camel-aws2-sqs"
| project TimeGenerated, Computer, CommandLine, ParentProcessName
| join kind=leftouter (
    // Beispiel: Suche nach Logs, die auf Header-Manipulationen hindeuten könnten
    // Dies ist stark anwendungsspezifisch und muss angepasst werden
    // Hier wird angenommen, dass Logs relevante Header-Informationen enthalten
    AppServiceLogs
    | where Message contains "Camel" and Message has_any (suspicious_headers)
    | where Message contains "header injected" or Message contains "header override"
    | project TimeGenerated, ResourceId, Message
) on $left.TimeGenerated between ($right.TimeGenerated - 1h) and ($right.TimeGenerated + 1h)
| where isnotempty(Message)

Splunk SPL

index=your_application_logs sourcetype=camel_logs (message=*CamelHttpUri* OR message=*CamelFileName* OR message=*CamelSqlQuery*) (message=*header injected* OR message=*header override*) | stats count by host, source, message | `some_correlation_with_process_creation`

Sigma

title: Apache Camel AWS2-SQS Header Injection Attempt
id: 00000000-0000-0000-0000-000000000000
status: experimental
description: Detects potential attempts to inject Camel control headers via AWS2-SQS component due to CVE-2026-46456.
references:
  - https://camel.apache.org/security/CVE-2026-46456.html
author: SecBoard
date: 2026/07/05
logsource:
  product: application
  service: camel
detection:
  selection:
    - message|contains: 
        - 'CamelHttpUri'
        - 'CamelFileName'
        - 'CamelSqlQuery'
    - message|contains: 
        - 'header injected'
        - 'header override'
  condition: selection
level: high

Elastic ES|QL

from logs-apache.camel-*
| where message : "CamelHttpUri" or message : "CamelFileName" or message : "CamelSqlQuery"
| where message : "header injected" or message : "header override"
| stats count() by host.name, @timestamp, message

SecBoard-generated · behavioral · requires customizationVon SecBoard erzeugt und nicht in einer Zielumgebung validiert. Vor dem Einsatz an die eigene Protokollierung anpassen.

Indikatoren

Datei-Hashes (3)

  • 5f57258fb33d33ef99df10594f8fe9f11d7c2b7e
  • 7b334be0419839097a132d4ff3427fc4083e695e
  • b7f78292e747a28dbf5da444265557b5f9f3c1a1

Übernommen wurden nur Indikatoren, die wörtlich in einer Hersteller- oder Research-Quelle standen.

GitHub Advisories

GHSA-cmc3-hr79-8mmvCRITICAL

Apache Camel-AWS2-SQS: Inbound message attributes are mapped into the Exchange without an inbound HeaderFilterStrategy, allowing a message sender to inject Camel control headers

maven/org.apache.camel:camel-aws2-sqs4.14.8
GitHub Advisory

Referenzen