Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-95628 — Lauffähiger Proof-of-Concept-Reproduzierer für CVE-2026-95628, eine Lücke bei der Validierung absoluter Pfade in Apache Camel camel-docling, mit Spring Boot- und Quarkus-Harnesses und Fix-Verifizierung. | Kitploit
Tools/GitHubGitHub/oscerd/cve-2026-95628
DefensivwerkzeugeSchwachstellenanalyseExploitationWebanwendungs-ExploitationLernen & Bildung
GitHuboscerd/cve-2026-95628

CVE-2026-95628

Lauffähiger Proof-of-Concept-Reproduzierer für CVE-2026-95628, eine Lücke bei der Validierung absoluter Pfade in Apache Camel camel-docling, mit Spring Boot- und Quarkus-Harnesses und Fix-Verifizierung.

Repository anzeigen
vor 1 TagNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-95628 — camel-docling: validatePathSafety hat absolute Pfade nicht abgelehnt (unvollständiger Fix von CVE-2026-40047)

Lauffähiger Proof-of-Concept-Reproducer für die Apache-Camel-Schwachstelle, bei der die Prüfung des Pfads für benutzerdefinierte Argumente, die der Fix von CVE-2026-40047 eingeführt hatte, nur nach relativer Traversierung suchte. Sie lehnte einen Wert ab, der ../ enthielt, sowie einen Wert, dessen normalisierte Form noch ein ..-Element aufwies – aber sie prüfte nie, ob ein Wert ein absoluter Pfad war, und ein absoluter Pfad ohne Traversierungssegmente enthält weder das eine noch das andere.

LaufzeitumgebungVerzeichnisStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-docling 4.22.1
Camel Quarkuscamel-quarkus/Camel Quarkus 3.39.0 (Quarkus 3.39.0, Camel 4.22.0)

Ausführen

cd camel-spring-boot          # or: cd camel-quarkus
mvn clean package
docker compose up -d --build
until [ "$(curl -s http://localhost:8080/exploit/ready)" = "Started" ]; do sleep 1; done
curl -s http://localhost:8080/exploit/attack
docker compose down

Auf einem betroffenen Build (identisch auf beiden Runtimes):

1) A relative traversal value, which the CVE-2026-40047 fix does reject
     header CamelDoclingCustomArguments = [--artifacts-path, ../../../../etc]
     REJECTED by Camel: IllegalArgumentException: Custom argument at index 1 contains a relative path traversal sequence

2) Traversal hidden behind redundant separators - also rejected (normalized first)
     header CamelDoclingCustomArguments = [--artifacts-path, models/./../../../../etc]
     REJECTED by Camel: IllegalArgumentException: Custom argument at index 1 contains a relative path traversal sequence

3) An ABSOLUTE path, which contains no traversal sequence at all
     header CamelDoclingCustomArguments = [--artifacts-path, /etc]
     argv docling received: --artifacts-path /etc --to md --ocr-lang en --output /tmp/docling-... /tmp/docling-.../docling-....tmp

4) The same, attached to the flag after an equals sign
     header CamelDoclingCustomArguments = [--artifacts-path=/root/.ssh]
     argv docling received: --artifacts-path=/root/.ssh --to md --ocr-lang en --output /tmp/docling-... /tmp/docling-.../docling-....tmp

>>> PROVEN: ...

Die Probes 1 und 2 zeigen, dass der Fix für CVE-2026-40047 seinen Zweck erfüllt. Die Probes 3 und 4 zeigen die Lücke: Das Flag steht auf der Allowlist dieses Fixes (--artifacts-path teilt docling mit, wo es seine Modellartefakte findet), und der Wert gelangt in beiden Argumentformen durch — als separates Listenelement nach dem Flag und angehängt nach einem =. Eine Partei, die die benutzerdefinierten Argumente wählen kann, könnte den docling-Prozess daher auf ein beliebiges Verzeichnis verweisen, auf das der Camel-Prozess zugreifen kann, außerhalb des Arbeitsverzeichnisses, in dem die Prüfung Pfadwerte eigentlich halten sollte — genau das Ergebnis, das der frühere Fix verhindern sollte.

Wie es verdrahtet ist

Keine docling-Installation erforderlich. Der Fehler liegt in der Kommandozeile, die Camel erzeugt, daher verweist die Option doclingCommand des Endpoints auf einen aufzeichnenden Stellvertreter für die CLI, der den ihm übergebenen Argumentvektor in eine Datei schreibt. Der echte DoclingProducer, die echte validateCustomArguments() und die echte validatePathSafety() laufen; nur das externe Tool ist ersetzt.

Nur der CLI-Modus, der Standard ist, übergibt benutzerdefinierte Argumente an docling.

Erreichbarkeit

CamelDoclingCustomArguments gehört zum Camel-Header-Namespace, den Consumer, die Camels Standard-Header-Filterung anwenden — etwa die JMS- und Kafka-Consumer —, aus eingehenden Nachrichten entfernen. Das Problem wird daher dort erreicht, wo eine Route extern beeinflusste Werte in den Header weiterleitet oder wo ein Consumer eingehende Header ohne diese Filterung abbildet.

Zusammenfassung der Schwachstelle

EigenschaftWert
Komponentecamel-docling (DoclingProducer.validatePathSafety())
CWECWE-22 (Improper Limitation of a Pathname to a Restricted Directory)
SchweregradMittel
AngriffsvektorEin absoluter Pfad als Wert eines pfadähnlichen Flags auf der Allowlist in CamelDoclingCustomArguments
AuswirkungDen docling-Prozess auf ein beliebiges Verzeichnis verweisen, auf das der Camel-Prozess zugreifen kann
Betroffene VersionenAb 4.15.0 vor 4.18.5, ab 4.19.0 vor 4.22.2
Behobene Versionen4.18.5, 4.22.2, 4.23.0
JIRACAMEL-24893
DanksagungZhixi "Jace" Sun, unabhängiger Sicherheitsforscher

Advisory: https://camel.apache.org/security/CVE-2026-95628.html

Verwandt: Dies ist ein unvollständiger Fix von CVE-2026-40047, und der Output-Path-Header derselben Komponente ist CVE-2026-95629.

Der Fix

validatePathSafety lehnt nun auch einen pfadähnlichen benutzerdefinierten Argumentwert ab, der ein absoluter Pfad ist, und lässt den Exchange mit einer IllegalArgumentException fehlschlagen, die besagt, dass das Argument kein absoluter Pfad sein darf. Da die Prüfung im gemeinsamen Helper sitzt, der jeden pfadähnlichen Wert validiert, sind beide Argumentformen abgedeckt.

Behoben auf main in apache/camel#26738 (fd3bc8e7), zurückportiert auf camel-4.22.x in #26743 (e9233c37) und auf camel-4.18.x in #26744 (59d30af1).

Einen behobenen Build prüfen

Setzen Sie camel.version auf 4.22.2 und führen Sie es erneut aus. Verifiziert gegen 4.22.1 → 4.22.2:

3) An ABSOLUTE path, which contains no traversal sequence at all
     REJECTED by Camel: IllegalArgumentException: Custom argument at index 1 must not be an absolute path

4) The same, attached to the flag after an equals sign
     REJECTED by Camel: IllegalArgumentException: Custom argument at index 0 must not be an absolute path

>>> NOT reproduced: the absolute path was rejected too.

Absicherung ohne Upgrade

Erzeugen Sie CamelDoclingCustomArguments nicht aus Werten, die von außerhalb der Bereitstellung stammen; entfernen Sie diesen Header aus Nachrichten, die von außen eintreffen, bevor sie einen docling-Endpunkt erreichen; und stellen Sie sicher, dass Consumer, die eingehende Header abbilden, den Camel-Header-Namespace verwerfen, sodass nur die Route die benutzerdefinierten Argumente wählt.

Haftungsausschluss

Dieses Repository wird zu Bildungs- und Verteidigungszwecken veröffentlicht: um Apache Camel-Nutzern zu helfen, die Schwachstelle zu verstehen, zu prüfen, ob sie betroffen sind, und zu bestätigen, dass ein Upgrade sie behebt. Verwenden Sie dieses Material nicht gegen Systeme, die Ihnen nicht gehören oder die Sie nicht betreiben.

Tool herunterladen