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-84181 — Lauffähiger Spring Boot- und Quarkus-Proof-of-Concept, der die Authentifizierungs-Umgehung von Apache Camel camel-shiro bei threadgebundenen Subjekten reproduziert, mit betroffenen und gepatchten Kontrollen. | Kitploit
Tools/GitHubGitHub/oscerd/cve-2026-84181
DefensivwerkzeugeSchwachstellenanalyseExploitationWebanwendungs-ExploitationAuthentifizierungLernen & Bildung
GitHuboscerd/cve-2026-84181

CVE-2026-84181

Lauffähiger Spring Boot- und Quarkus-Proof-of-Concept, der die Authentifizierungs-Umgehung von Apache Camel camel-shiro bei threadgebundenen Subjekten reproduziert, mit betroffenen und gepatchten Kontrollen.

Repository anzeigen
3vor 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-84181 — camel-shiro: Authentifizierungsumgehung über ein thread-gebundenes Subject

Lauffähiger Proof-of-Concept-Reproduzierer für die Apache-Camel-Schwachstelle, bei der der Shiro-Sicherheitsprozessor die Anmeldeinformationsprüfung übersprang, wenn das bereits an den aktuellen Thread gebundene Shiro-Subject denselben Principal wie der eingehende Exchange trug. Da der Thread, der einen Camel-Exchange trägt, aus einem Pool bezogen und über Exchanges hinweg wiederverwendet wird, konnte ein von einem früheren authentifizierten Exchange hinterlassenes gebundenes Subject die Prüfung für einen späteren Exchange erfüllen, der keine eigenen gültigen Anmeldeinformationen vorlegte — das Passwort dieses späteren Exchanges wurde nie verifiziert. Der Angreifer muss lediglich eine Anfrage senden, die einen Principal benennt, der gerade aktiv verwendet wird.

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

Beide Module demonstrieren sowohl das betroffene als auch das behobene Verhalten.

Was es demonstriert

Eine Route ist durch eine ShiroSecurityPolicy geschützt, die mit alwaysReauthenticate=false erstellt wurde — dem dokumentierten Modus, in dem das authentifizierte Subject bewusst an den (gepoolten, wiederverwendeten) Worker-Thread zwischen Exchanges gebunden bleibt. Der Exploit-Treiber führt innerhalb eines HTTP-Worker-Threads zwei Exchanges nacheinander aus:

  1. eine legitime Anfrage von ringo mit dem korrekten Passwort starr — sie authentifiziert sich und hinterlässt das Shiro-Subject an diesen Thread gebunden (wie es eine vorherige authentifizierte Anfrage in einem ausgelasteten Dienst tun würde);
  2. eine Angreifer-Anfrage, die denselben Benutzer ringo, aber mit einem falschen Passwort not-starr benennt, auf dem selben Thread.
  • Betroffen: Der zweite Exchange wird ohne Prüfung seines Passworts akzeptiert — er reitet auf dem Subject, das von Schritt 1 an den Thread gebunden hinterlassen wurde — und erreicht die geschützte Logik. Authentifizierungsumgehung.
  • Behoben: Die Anmeldeinformationen des zweiten Exchanges werden eigenständig verifiziert und er wird mit einer AuthenticationException abgelehnt, obwohl derselbe Benutzer noch an den Thread gebunden ist.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: wrong password reaches protected logic; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-84181-shiro-auth-bypass-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: wrong password rejected; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected (Camel 4.15.0): wrong password reaches protected logic
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: wrong password rejected

Schwachstellenzusammenfassung

EigenschaftWert
Komponentecamel-shiro (ShiroSecurityProcessor.authenticateUser)
CWECWE-287 (Improper Authentication)
SchweregradMITTEL
AngriffsvektorEine Anfrage, die einen Principal benennt, der aktuell an einen wiederverwendeten Worker-Thread gebunden ist, und die keine eigenen gültigen Anmeldedaten mitführt
AuswirkungUmgehung der Authentifizierung: Eine nicht authentifizierte Anfrage wird als bereits gebundener Principal akzeptiert; ihr Passwort wird nie überprüft
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-24439
DanksagungClaude Security Scan Tool

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

Die Behebung

ShiroSecurityProcessor.authenticateUser überspringt den Login nicht mehr, wenn das thread-gebundene Subject bereits denselben Principal trägt. Der vorherige Code brach vorzeitig ab bei currentUser.isAuthenticated() && username.equals(currentUser.getPrincipal()); ein übereinstimmender Benutzername sagt nichts über das Passwort aus, das mit diesem Exchange übergeben wird. Der Processor ruft nun currentUser.login(token) bei jedem Exchange auf, sodass die übergebenen Anmeldedaten stets überprüft werden. alwaysReauthenticate steuert weiterhin die rememberMe-Lebensdauer des Subjects, aber es entscheidet nicht mehr darüber, ob das Passwort geprüft wird.

Gegenmaßnahmen, falls Sie nicht aktualisieren können

Stellen Sie sicher, dass das Shiro-Subject am Ende jedes Exchanges vom Thread entfernt wird (sodass kein Subject von einem späteren Exchange geerbt werden kann) — zum Beispiel mit einem onCompletion/Processor, der Shiro's ThreadContext.unbindSubject() aufruft — 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. Die Benutzer, Passwörter und Schlüssel hier sind inaktive lokale Testdaten. Verwenden Sie dieses Material nicht gegen Systeme, die Ihnen nicht gehören oder die Sie nicht betreiben.

Tool herunterladen