
Reproducer per CVE-2026-48206: iniezione di header IssueKey (e altri non prefissati Camel) in Apache Camel camel-jira che consente di eseguire operazioni arbitrarie sui ticket JIRA con le credenziali dell'account di servizio dell'endpoint (corretto in 4.14.8/4.18.3/4.21.0)
IssueKey in camel-jiraReproducer 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: i
produttori camel-jira leggono i propri parametri operativi (chiave dell'issue, chiave del progetto, ID della transizione, …) dagli header dei messaggi Exchange
le cui costanti — IssueKey, ProjectKey, IssueTransitionId, … — sono stringhe semplici senza
prefisso Camel. Il filtro di confine HTTP (HttpHeaderFilterStrategy) rimuove solo Camel*, quindi un header HTTP
in entrata con quel nome passa direttamente nell'Exchange e sovrascrive ciò su cui agisce la route. Un client non autenticato
inietta IssueKey: PROD-999 e l'account di servizio della route elimina un issue arbitrario (CWE-639).
Ogni sottodirectory è un progetto autonomo con il proprio Dockerfile, docker-compose.yml e README. 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
La correzione rinomina le costanti degli header secondo la convenzione CamelJira* (ad es. CamelJiraIssueKey), così vengono rimosse al confine HTTP come ogni altro header Camel*.
Avviso di sicurezza: https://camel.apache.org/security/CVE-2026-48206.html
Questi reproducer sono forniti solo 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-jira |
| CWE | CWE-20 (Validazione dell'input non corretta) / CWE-639 (Bypass dell'autorizzazione tramite chiave controllata dall'utente) |
| Impatto | Eseguire operazioni JIRA arbitrarie (eliminazione/transizione/creazione/modifica) con le credenziali dell'account di servizio dell'endpoint |
| 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-23576 (PR apache/camel#23417) |
| Credito | Yu Bao (PayPal) |