Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-85301 — Riproduttore proof-of-concept eseguibile per il bypass della validazione dell'issuer in Apache Camel camel-keycloak (CWE-287), che dimostra il comportamento vulnerabile e quello corretto in Spring Boot e Quarkus. | Kitploit
Strumenti/GitHubGitHub/oscerd/cve-2026-85301
Strumenti DifensiviAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebAutenticazioneApprendimento e Formazione
GitHuboscerd/cve-2026-85301

CVE-2026-85301

Riproduttore proof-of-concept eseguibile per il bypass della validazione dell'issuer in Apache Camel camel-keycloak (CWE-287), che dimostra il comportamento vulnerabile e quello corretto in Spring Boot e Quarkus.

Vedi Repository
21 giorno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-85301 — camel-keycloak: bypass della validazione dell'issuer

Riproduttore proof-of-concept eseguibile per la vulnerabilità di Apache Camel in cui il KeycloakSecurityProcessor di camel-keycloak validava l'issuer di un token introspettato solo quando la risposta di introspezione conteneva effettivamente un claim iss. Quando il claim era assente il controllo veniva saltato anziché trattato come un fallimento, quindi un token non emesso dall'issuer configurato poteva essere accettato — a condizione che l'endpoint di introspezione rispondesse active senza indicare un issuer. Laddove un deployment esegue l'introspezione verso un endpoint che omette iss e serve più di un issuer, la conseguenza è che autentica un chiamante che avrebbe dovuto rifiutare (CWE-287).

RuntimeDirectoryStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-keycloak 4.22.0 (affetto; corretto in 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-keycloak (Camel 4.22.0, affetto; controllo corretto CQ 3.40.0 / Camel 4.22.1)

Entrambi i moduli dimostrano il comportamento affetto e quello corretto contro il reale KeycloakSecurityProcessor.

Cosa dimostra

Il driver configura un KeycloakSecurityPolicy con validateIssuer=true (issuer atteso http://localhost:8080/realms/test-realm) e un introspettore di token che riporta il token attivo ma non restituisce alcun claim iss — esattamente ciò che produce un endpoint di introspezione di un broker/gateway, poiché RFC 7662 rende iss opzionale. Poi aziona un KeycloakSecurityProcessor con un header Authorization: Bearer <attacker-token> e riporta se la rotta protetta viene raggiunta.

  • Affetto: l'iss mancante fa sì che il processore salti il controllo dell'issuer, quindi il token viene accettato e la rotta viene raggiunta — un token proveniente da un issuer non previsto viene autenticato.
  • Corretto: un iss assente è un fallimento di validazione; il processore lancia CamelAuthorizationException ("Token issuer missing…") e la rotta non viene mai raggiunta.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: route reached, token accepted; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85301-keycloak-issuer-bypass-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: CamelAuthorizationException "Token issuer missing"; >>> 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.22.0): route reached, token accepted
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: CamelAuthorizationException "Token issuer missing"

Riepilogo della vulnerabilità

ProprietàValore
Componentecamel-keycloak (KeycloakSecurityProcessor.validateIssuerFromIntrospection)
CWECWE-287 (Autenticazione impropria)
GravitàMEDIA
Vettore di attaccoUn token proveniente da un issuer non previsto, sottoposto a introspezione su un endpoint che omette iss e serve più di un issuer, con validateIssuer=true
ImpattoLa distribuzione autentica un chiamante il cui token non è stato emesso dall'issuer configurato
Versioni interessateDalla 4.15.0 precedente alla 4.18.5, dalla 4.19.0 precedente alla 4.22.1
Versioni corrette4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24448
RiconoscimentoClaude Security Scan Tool

Avviso: https://camel.apache.org/security/CVE-2026-85301.html

Il modulo Quarkus interessato è basato su CQ 3.39.0 (Camel 4.22.0), dove camel-quarkus-keycloak corrisponde a una versione di Camel interessata. Il controllo corretto è CQ 3.40.0 (Camel 4.22.1).

La correzione

KeycloakSecurityProcessor ora tratta un claim iss assente come un errore di validazione: quando la validazione dell'issuer è abilitata e il risultato dell'introspezione non contiene alcun issuer, genera CamelAuthorizationException invece di restituire anticipatamente e lasciar passare la richiesta. Il codice precedente saltava il confronto ogni volta che il claim era mancante, il che lasciava l'issuer non verificato proprio per i token che non indicavano alcun issuer.

Mitigazione se non è possibile aggiornare

Assicurarsi che l'endpoint di introspezione restituisca il claim iss e serva esattamente un issuer, così che un token proveniente da qualsiasi altro issuer sia o indicato (e rifiutato) o non venga mai sottoposto a introspezione come attivo.

Disclaimer

Questo repository è pubblicato per scopi educativi e difensivi: per aiutare gli utenti di Apache Camel a comprendere la vulnerabilità, verificare se sono interessati e confermare che l'aggiornamento la risolva. L'introspettore di token è uno stub in-process e non è coinvolto alcun server Keycloak reale né chiamata di rete; il "token dell'attaccante" è una stringa segnaposto opaca. Non utilizzare questo materiale contro sistemi di cui non si è proprietari o gestori.

Scarica lo strumento