CVE-2026-40047
Apache Camel: Camel-Docling: Unzureichende Validierung benutzerdefinierter CLI-Argumente ermöglicht Argumentinjektion und Pfad-Traversal in DoclingProducer
- Veröffentlicht
- 06.07.2026
- Aktualisiert
- 06.07.2026
- CNA zuweisen
- apache
- Beweise beobachtet
- 06.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NNiedrig · nächste 30 Tage
- Perzentil
- 83,4 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
Unsachgemäße Neutralisierung von Argumenttrennzeichen in einem Befehl („Argument Injection“) Schwachstelle in der Apache Camel Docling-Komponente. Die camel-docling-Komponente ruft das externe Befehlszeilentool `docling` auf, indem sie in DoclingProducer eine Argumentliste zusammenstellt und diese über java.lang.ProcessBuilder ausführt. Benutzerdefinierte CLI-Argumente, die über den `CamelDoclingCustomArguments`-Exchange-Header (eine List<String>) bereitgestellt werden, wurden mit unzureichender Validierung an diese Argumentliste angehängt: Die ursprüngliche Implementierung stützte sich auf eine Denylist unzulässiger Flags und lehnte nur Pfadwerte ab, die eine wörtliche `../`-Sequenz enthielten. Infolgedessen könnte eine Camel-Route, die extern beeinflusste Daten in den `CamelDoclingCustomArguments`-Header (oder in die pfadtragenden Header, die zum Aufbau des Aufrufs verwendet werden) weiterleitet, dazu führen, dass der Producer nicht erkannte oder unbeabsichtigte `docling`-CLI-Flags an den Unterprozess übergibt und pfadartige Argumentwerte liefert, die durch Traversal-Sequenzen, die von der wörtlichen `../`-Prüfung nicht erfasst wurden, außerhalb des vorgesehenen Verzeichnisses aufgelöst wurden. Da Camel selbst den `docling`-Aufruf aus diesen Werten aufbaut, ist die Komponente dafür verantwortlich, sie einzuschränken, und die schwache Validierung ermöglichte CLI-Argument-Injection und Directory Traversal in den an das externe Tool übergebenen Argumenten. Der Aufruf verwendet die listenbasierte Form von ProcessBuilder, sodass keine Shell die Argumentwerte interpretiert; eine OS-Befehlsinjektion über Shell-Metazeichen war nicht möglich, und die durch den Fix hinzugefügte Ablehnung von Metazeichen dient der Verteidigung in der Tiefe. Dieses Problem betrifft Apache Camel: von 4.15.0 vor 4.18.3. Benutzern wird empfohlen, auf eine Version zu aktualisieren, die den CAMEL-23212-Fix enthält. Im Hauptentwicklungszweig ist der Fix ab Apache Camel 4.19.0 (und späteren Versionen wie 4.20.0) enthalten. Für Benutzer des 4.18.x-LTS-Release-Streams wird ein Upgrade auf 4.18.3 empfohlen. Der Fix ersetzt die Denylist durch eine strenge Allowlist erkannter `docling`-CLI-Flags (wobei jedes nicht erkannte Flag sowie vom Producer verwaltete Flags wie die Ausgabeverzeichnis-Flags abgelehnt werden), lehnt Shell-Metazeichen in Argumentwerten defensiv ab und normalisiert pfadartige Werte mit Path.normalize(), bevor sie validiert werden, sodass Traversal-Sequenzen, die eine wörtliche `../`-Prüfung umgehen, erkannt werden. Als Verteidigung in der Tiefe sollten Routenautoren vermeiden, nicht vertrauenswürdigen Nachrichteninhalt in den `CamelDoclingCustomArguments`-Header und die pfadtragenden Header abzubilden, und sollten Camel-interne Header aus Nachrichten entfernen, die von nicht vertrauenswürdigen Producern stammen.
Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.