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-85315 — Riproduttore proof-of-concept eseguibile per CVE-2026-85315, che dimostra la divulgazione dei messaggi di eccezione del consumer camel-grpc (CWE-209) in Camel Spring Boot e Quarkus. | Kitploit
Strumenti/GitHubGitHub/oscerd/cve-2026-85315
Strumenti DifensiviScanner di Vulnerabilità WebAnalisi delle VulnerabilitàRaccolta InformazioniApprendimento e Formazione
GitHuboscerd/cve-2026-85315

CVE-2026-85315

Riproduttore proof-of-concept eseguibile per CVE-2026-85315, che dimostra la divulgazione dei messaggi di eccezione del consumer camel-grpc (CWE-209) in Camel 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-85315 — camel-grpc: divulgazione delle eccezioni del consumer

PoC riproducibile ed eseguibile per la vulnerabilità di Apache Camel in cui, quando una route dietro un consumer gRPC falliva, il messaggio dell'eccezione della route veniva copiato nella descrizione dello Status gRPC. A differenza della causa dello status (withCause(...)), che rimane locale al server, la descrizione viene trasmessa al client chiamante, quindi un chiamante esterno in grado di provocare un errore poteva leggere il messaggio di errore interno — in pratica nomi di classi e package, percorsi di file, nomi host e dettagli di connessione contenuti nei messaggi delle eccezioni (CWE-209). Questo è il membro gRPC della stessa famiglia di eccezioni del consumer non silenziate delle advisory knative, mina e CXF pubblicate insieme ad essa.

RuntimeDirectoryStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-grpc 4.22.0 (affetto; corretto in 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-grpc (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 nei confronti del vero consumer camel-grpc.

Cosa dimostra

Ogni modulo esegue un consumer camel-grpc (il servizio PingPong dal proto di test di camel-grpc stesso) la cui route fallisce sempre con un messaggio dall'aspetto interno:

Internal failure contacting jdbc:postgresql://db.internal.local:5432 (user=svc_admin) [CVE-2026-85315]

L'endpoint del verificatore /exploit/attack interpreta un client gRPC esterno: chiama PingSyncSync, intercetta la StatusRuntimeException e riporta il codice Status e la descrizione restituiti dal server.

  • Affected: la descrizione dello status è il messaggio dell'eccezione di route verbatim — l'URL del backing-store e l'account di servizio trapelano al client.
  • Fixed: la nuova opzione consumer muteException è impostata per impostazione predefinita su true, quindi la descrizione è la generica "Exchange processing failed" e il messaggio reale non lascia mai il server (viene mantenuto solo nella causa dello status locale).
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: description leaks the internal message; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85315-grpc-exception-disclosure-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: description is "Exchange processing failed"; >>> 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): description leaks the internal message
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: description is "Exchange processing failed"

Ogni modulo espone il verifier sulla porta 8080 ed esegue il consumer camel-grpc sulla porta 50051 all'interno dello stesso processo; solo la 8080 è pubblicata.

Riepilogo della vulnerabilità

ProprietàValore
Componentecamel-grpc (GrpcMethodHandler, consumer)
CWECWE-209 (Generazione di messaggi di errore contenenti informazioni sensibili)
GravitàMEDIA
Vettore di attaccoUn client gRPC esterno provoca un errore nella route e legge la descrizione Status trasmessa
ImpattoDettagli interni dell'errore (nomi di classi/package, percorsi, nomi host, dettagli di connessione) vengono divulgati al chiamante
Versioni interessateDalla 4.0.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-24478
CreditoClaude Security Scan Tool

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

Il modulo Quarkus interessato è basato su CQ 3.39.0 (Camel 4.22.0). Il controllo corretto è CQ 3.40.0 (Camel 4.22.1).

La correzione

GrpcMethodHandler aggiunge un'opzione del consumer muteException (predefinita true). Quando è abilitata, uno scambio fallito produce la descrizione generica "Exchange processing failed" nello status trasmesso; l'eccezione della route viene comunque allegata localmente tramite withCause(...), che gRPC non invia al client. Impostare muteException=false sull'endpoint per ripristinare il comportamento precedente.

Mitigazione se non è possibile aggiornare

Mappare i fallimenti su uno status esplicito in un handler onException in modo che il framework non copi mai il messaggio dell'eccezione nella descrizione.

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. Il messaggio "internal" è un segnaposto benigno (db.internal.local, svc_admin) e l'intera dimostrazione viene eseguita in un unico processo. Non utilizzare questo materiale contro sistemi di cui non si è proprietari o gestori.

Scarica lo strumento