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-79983 — Lauffähiger Proof-of-Concept-Reproduzierer für CVE-2026-79983, einen Path Traversal in Apache Camel camel-ftp-Consumern, mit Fixtures für einen bösartigen FTP-Server sowie betroffenen und behobenen Builds. | Kitploit
Tools/GitHubGitHub/oscerd/cve-2026-79983
DefensivwerkzeugeSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & Bildung
GitHuboscerd/cve-2026-79983

CVE-2026-79983

Lauffähiger Proof-of-Concept-Reproduzierer für CVE-2026-79983, einen Path Traversal in Apache Camel camel-ftp-Consumern, mit Fixtures für einen bösartigen FTP-Server sowie betroffenen und behobenen Builds.

Repository anzeigen
12vor 3 TagenNoch 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-79983 — camel-ftp: Consumer baut den Remote-Pfad aus dem Verzeichnislisting des Servers ohne Containment auf

Lauffähiger Proof-of-Concept-Reproduzierer für die Apache-Camel-Schwachstelle, bei der die Remote-File-Consumer ein Verzeichnis auf einem Remote-Server abfragen und den absoluten Remote-Pfad jeder Datei bilden, indem sie das konfigurierte Verzeichnis mit dem im Verzeichnislisting des Servers gemeldeten Dateinamen verketten, ohne lexikalische Normalisierung und ohne Prüfung, ob das Ergebnis innerhalb des abgefragten Verzeichnisses bleibt. Dieser Pfad wird dann zum Operanden für den Abruf (immer) sowie für Löschen oder Umbenennen, wenn delete=true, move, preMove, moveFailed oder readLock=rename konfiguriert ist.

Ein Listing-Name ist kein durch die Route kontrolliertes Datum — er wird vom Remote-Server geliefert, und der FTP-Kontrollkanal besitzt keinen Integritätsschutz, sodass ein On-Path-Angreifer eine LIST-Antwort umschreiben kann und ein kompromittierter oder Multi-Tenant-Server einen solchen Namen direkt ausgeben kann. Die dokumentierte, standardmäßig aktive Option jailStartingDirectory hat diesen Remote-Operanden nicht eingeschränkt.

LaufzeitumgebungVerzeichnisStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-ftp 4.22.0 (betroffen; behoben in 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-ftp 3.29.0 (Camel 4.15.0, betroffen)

Der Fix wird in Camel 4.18.5 / 4.22.1 / 4.23.0 ausgeliefert; das Spring-Boot-Modul führt sowohl den betroffenen Build (4.22.0) als auch den behobenen Build (4.22.1) aus. Kein veröffentlichtes Camel Quarkus bündelt bisher ein behobenes Camel.

Was es demonstriert

Die App bettet einen absichtlich bösartigen FTP-Server ein (Apache MINA FtpServer mit einem In-Memory-VFS), der im abgefragten Verzeichnis /upload Folgendes listet:

  • normal.txt — eine legitime Datei innerhalb des Verzeichnisses, und
  • d/../../outside.txt — einen manipulierten Eintrag, dessen Name kein einzelnes Pfadsegment ist. Er beginnt nicht mit einem Punkt (sodass die Regel für versteckte Dateien von Camel ihn nicht erfasst), und /upload + d/../../outside.txt wird zu /outside.txt, eine Ebene oberhalb des abgefragten Verzeichnisses aufgelöst.

Ein einfacher Camel-FTP-Consumer fragt /upload ab. Beim betroffenen Build ruft er beide Einträge ab — einschließlich /outside.txt, einer Datei, die er niemals erreichen sollte. Beim behobenen Build behält er normal.txt und überspringt den ausbrechenden Eintrag, wobei er Skipping file as it resolves outside the starting directory: upload/d/../../outside.txt protokolliert.

cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

Erwartete Ausgabe beim betroffenen Build:

What the Camel consumer retrieved:
    name=[normal.txt]  (inside)
    name=[d/../../outside.txt]  <<< FILE FROM OUTSIDE THE POLLED DIRECTORY
        content: OUTSIDE-SECRET (/outside.txt, a file the consumer should never reach)

Paths the server was asked to read:
    upload/normal.txt  ->  /upload/normal.txt
    upload/d/../../outside.txt  ->  /outside.txt

Zusammenfassung der Schwachstelle

EigenschaftWert
Komponentecamel-ftp (Schemata ftp, ftps, sftp)
CWECWE-22 (Improper Limitation of a Pathname to a Restricted Directory)
SchweregradHOCH
AngriffsvektorEin LIST-Eintrag (vom Server geliefert, auf einem nicht authentifizierten FTP-Kontrollkanal umschreibbar), der kein einzelnes Pfadsegment ist
AuswirkungLesen – und, mit delete/move/readLock=rename, Löschen oder Umbenennen – von Dateien außerhalb des abgefragten Verzeichnisses unter Verwendung der Anmeldedaten des Endpunkts
Betroffene VersionenAb 4.0.0 vor 4.18.5, ab 4.19.0 vor 4.22.1
Behobene Versionen4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24487
DanksagungDilrevx von NSSL, SJTU

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

Die Korrektur

Eine separatorbewusste Überladung von GenericFileHelper.isWithinDirectory und eine Strategie GenericFileConsumer.isWithinStartingDirectory (konsultiert aus isValidFile, wenn jailStartingDirectory aktiviert ist) komprimieren den aufgelösten Pfad und prüfen an Pfadsegmentgrenzen, dass er weiterhin innerhalb des abgefragten Verzeichnisses aufgelöst wird. Eine Datei, die sich außerhalb auflöst, wird mit einer Warnung übersprungen (so dass andere legitime Einträge in derselben Auflistung weiterhin verarbeitet werden). RemoteFileConsumer und SmbConsumer überschreiben die Prüfung; die lokale Basisimplementierung ist ein No-op, da lokale Auflistungsnamen stets einzelne Segmente sind.

Abhilfe, wenn Sie nicht aktualisieren können

Bevorzugen Sie sftp/ftps gegenüber ftp, damit die Auflistung nicht während der Übertragung umgeschrieben werden kann, und verifizieren Sie den Hostschlüssel bzw. das Zertifikat. Beschränken Sie den Consumer mit filter, antInclude oder include darauf, nur einsegmentige Namen zu akzeptieren, und vermeiden Sie delete=true/move/preMove/moveFailed/readLock=rename gegenüber Servern, deren Auflistungen nicht vollständig vertrauenswürdig sind. Beschränken Sie das Serverkonto nach Möglichkeit auf das abgefragte Verzeichnis.

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. Der bösartige Server und das „Geheimnis“ sind inerte lokale Fixtures. Verwenden Sie dieses Material nicht gegen Systeme, die Ihnen nicht gehören oder die Sie nicht betreiben.

Tool herunterladen