
Riproduttore per CVE-2026-46584: iniezione di intestazioni mail.smtp.* in Apache Camel camel-mail che consente il furto di credenziali tramite intercettazione SOCKS on-path (corretto in 4.14.8/4.18.3/4.21.0)
mail.smtp.* in camel-mailReproducer proof-of-concept eseguibili per la stessa vulnerabilità Apache Camel, uno per runtime:
| Runtime | Directory | Stack |
|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (include Camel 4.20.0) |
Entrambe sono versioni affette (corrette in 4.14.8 / 4.18.3 / 4.21.0) e dimostrano lo stesso identico difetto: il getSender() del mail producer incorpora qualsiasi header di messaggio mail.smtp.* in ingresso nella sessione JavaMail prima di connettersi. Questi nomi sono stringhe semplici, senza prefisso Camel, quindi il filtro di confine HTTP (HttpHeaderFilterStrategy, che rimuove solo Camel*) consente a un client HTTP non autenticato di impostarli. Due ulteriori header di richiesta (mail.smtp.socks.host / mail.smtp.socks.port) instradano la connessione SMTP autenticata della vittima attraverso un proxy SOCKS controllato dall'attaccante, che raccoglie le credenziali in chiaro AUTH LOGIN — mentre l'invio della vittima riesce comunque, quindi l'intercettazione è silenziosa.
Ogni sottodirectory è un progetto autonomo con il proprio Dockerfile, docker-compose.yml e README — il server SMTP "legittimo" e il proxy SOCKS dell'attaccante girano entrambi in-JVM, quindi non è richiesto alcun servizio esterno. In breve, per entrambi:
cd camel-spring-boot # or: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
Avviso: https://camel.apache.org/security/CVE-2026-46584.html
Questi reproducer sono forniti esclusivamente per ricerca sulla sicurezza e test autorizzati, per una vulnerabilità divulgata pubblicamente e corretta. Non utilizzarli contro sistemi senza esplicita autorizzazione.
| Proprietà | Valore |
|---|
| Componente | camel-mail |
| CWE | CWE-20 (Convalida non corretta dell'input) / CWE-200 (Esposizione di informazioni) |
| Impatto | Gli header mail.smtp.* in ingresso riscrivono la sessione JavaMail → intercettazione del trasporto, furto di credenziali, indebolimento della fiducia/TLS |
| Versioni affette | Da 4.0.0 a 4.14.8 (esclusa), da 4.15.0 a 4.18.3 (esclusa), da 4.19.0 a 4.21.0 (esclusa) |
| Versioni corrette | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23522 |