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-84178 — Lauffähiger Proof-of-Concept-Reproducer für CVE-2026-84178, eine Login-CSRF-Schwachstelle im Authorization-Code-Callback von Apache Camel camel-oauth, der Codes ohne Prüfung des State-Parameters einlöst. | Kitploit
Tools/GitHubGitHub/oscerd/cve-2026-84178
SchwachstellenanalyseWebanwendungs-ExploitationWebsicherheitAuthentifizierungLernen & Bildung
GitHuboscerd/cve-2026-84178

CVE-2026-84178

Lauffähiger Proof-of-Concept-Reproducer für CVE-2026-84178, eine Login-CSRF-Schwachstelle im Authorization-Code-Callback von Apache Camel camel-oauth, der Codes ohne Prüfung des State-Parameters einlöst.

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-84178 — camel-oauth: Login-CSRF beim Authorization-Code-Callback (fehlender state)

Lauffähiger Proof-of-Concept-Reproducer für die Apache-Camel-Schwachstelle, bei der der OAuth-Authorization-Code-Callback keinen state-Parameter mitführte, der ihn an die Authorization-Anfrage band, die den Flow gestartet hatte, und auch keinen verifizierte. Ein Authorization-Code, der in irgendeinem Browser erlangt wurde, konnte daher am Callback eingelöst und derjenigen Session zugeordnet werden, die ihn präsentierte — Login-Cross-Site-Request-Forgery: Ein Opfer wird stillschweigend als eine vom Angreifer kontrollierte Identität angemeldet, sodass die nachfolgenden Aktionen und Daten des Opfers im Konto des Angreifers landen. (Derselbe unvalidierte Callback erlaubte es zudem, das Ziel des Redirects nach der Authentifizierung zu beeinflussen — ein Open Redirect.) Wie der Advisory anmerkt, läuft die State-Prüfung vor der Einlösung des Codes, sodass die Differenz ohne jegliche Interaktion mit dem Identity Provider erreichbar ist.

RuntimeVerzeichnisStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-oauth 4.22.0 (betroffen; behoben in 4.22.1), Callback über camel-undertow
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-oauth 3.39.0 (Camel 4.22.0, betroffen; behobene Kontrolle 3.40.0 / Camel 4.22.1), Callback über camel-quarkus-platform-http

Beide Module demonstrieren das betroffene und das behobene Verhalten.

Was es demonstriert

Der echte, unveränderte OAuthCodeFlowCallback-Processor verarbeitet den Callback-Endpunkt. Ein winziger Stub-OAuth wird in der Camel-Registry registriert, damit der Callback ohne einen laufenden Identity Provider ausgeführt werden kann — er steht nur für den IdP ein und zeichnet auf, wann ein Authorization-Code eingelöst wird (was im echten Flow die resultierende Identität an die präsentierende Session bindet). Der Angreifer ruft den Callback einfach mit einem code und ohne passenden state auf:

  • Betroffen: Der Callback löst den vom Angreifer gelieferten Code ein und bindet die Identität an die Session — HTTP 302 (Login erfolgreich). Der Stub zeichnet die Einlösung auf.
  • Behoben: Der Callback lehnt mit HTTP 400 "No authorization code flow in progress" ab (er erfordert einen state, der zur Authorization-Anfrage passt, die diese Session gestartet hat) — der Code wird nie eingelöst.
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:

Request: GET /callback?code=ATTACKER-SUPPLIED-AUTH-CODE   (no 'state' parameter)
Callback HTTP status: 302
>>> PROVEN: the callback redeemed the authorization code ... WITHOUT verifying a state parameter ... login CSRF.

Zusammenfassung der Schwachstelle

EigenschaftWert
Komponentecamel-oauth (Authorization-Code-Callback, OAuthCodeFlowCallback)
CWECWE-352 (Cross-Site Request Forgery)
SchweregradMITTEL
AngriffsvektorEine Callback-Anfrage, die einen Autorisierungscode ohne state überträgt, der an die Autorisierungsanfrage der Sitzung gebunden ist
AuswirkungLogin-CSRF (Opfer wird unter einer vom Angreifer kontrollierten Identität angemeldet); offene Weiterleitung von einer vertrauenswürdigen Origin
Betroffene VersionenAb 4.11.0 vor 4.18.5, ab 4.19.0 vor 4.22.1
Behobene Versionen4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24437
DanksagungClaude Security Scan Tool

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

Die Behebung

Der Callback überträgt nun einen einmalig verwendbaren state-Parameter, der an die von der Sitzung gestartete Autorisierungsanfrage gebunden ist, und verifiziert diesen: expectedState = session.removeValue(OAUTH_STATE), verglichen (in konstanter Zeit) mit dem state-Abfrageparameter. Wenn kein Flow im Gange ist oder der State nicht übereinstimmt, lehnt der Callback die Anfrage vor der Einlösung des Codes ab.

Gegenmaßnahme, wenn Sie nicht aktualisieren können

Platzieren Sie den Callback hinter einer Komponente, die eine CSRF-state-Bindung erzwingt, oder verlassen Sie sich nicht auf den OAuth-Code-Flow-Callback zur Sitzungseinrichtung, bis Sie aktualisieren können.

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 Stub-Identity-Provider und der „Angreifer-Code“ sind inerte lokale Fixtures. Verwenden Sie dieses Material nicht gegen Systeme, die Ihnen nicht gehören oder die Sie nicht betreiben.

Tool herunterladen