Apache Camel: vulnerabilità con la “V” maiuscola
Due nuove vulnerabilità in Apache Camel richiedono l’attenzione immediata degli utenti. Il 9 marzo 2025, Apache ha divulgato la vulnerabilità CVE-2025-27636 (CVSS 5.6) per l’esecuzione di codice remoto. Pochi giorni dopo, l’11 marzo, il Security Intelligence Group (SIG) di Akamai ha identificato una tecnica per aggirare la patch originale, portando alla pubblicazione della vulnerabilità CVE-2025-29891 (CVSS 4.2) il 12 marzo.
Sebbene l’Authorized Data Publisher (ADP) della Cybersecurity and Infrastructure Security Agency (CISA) abbia assegnato punteggi CVSS moderati a queste due vulnerabilità, a seconda della configurazione dell’istanza Apache Camel interessata le loro conseguenze possono essere gravi. Entrambe le vulnerabilità derivano da un filtraggio inadeguato delle intestazioni o dei parametri HTTP durante la comunicazione con un’istanza di Apache Camel. In particolare, il problema risiede nella gestione delle maiuscole e minuscole: mentre il filtraggio dei parametri considera la distinzione tra maiuscole e minuscole, l’applicazione degli argomenti non lo fa. Inoltre, la disponibilità pubblica di codice Proof of Concept (PoC) e di descrizioni tecniche dettagliate aumenta il rischio associato a queste vulnerabilità.
Greenbone ha implementato test di vulnerabilità (VT) per individuare sistemi esposti alle CVE-2025-27636 e CVE-2025-29891. Questi test eseguono scansioni attive sugli endpoint HTTP per rilevare potenziali punti deboli. Ma vediamo il tutto nel dettaglio.
Cos’è Apache Camel?
Apache Camel è una libreria Java open source progettata per facilitare l’integrazione di diversi componenti all’interno di architetture di sistema aziendali distribuite, come API o microservizi. Fornisce una piattaforma versatile per il routing e la trasmissione dei dati, basata sul concetto di Enterprise Integration Patterns (EIP), che rappresentano modelli architetturali per l’integrazione dei sistemi aziendali. Camel implementa questi modelli attraverso vari domain-specific Languages (DSL), tra cui Java, XML, Groovy e YAML, consentendo ai programmatori di definire in modo flessibile le regole di routing e mediazione.
Nel 2021, Apache Camel deteneva una quota del 3,03% nel mercato dell’Enterprise Application Integration. Oltre 5.600 aziende (di cui circa la metà con sede negli Stati Uniti) hanno adottato il software. Camel è particolarmente diffuso nei settori della tecnologia e dei servizi IT (33%), del software (12%) e dei servizi finanziari (6%).
Due CVE in Apache Camel consentono l’header injection
Quando un componente HTTP di Apache Camel elabora una richiesta, un filtro predefinito dovrebbe impedire la divulgazione di dati sensibili o l’esecuzione di comandi interni. Tuttavia, a causa di una regola di filtro errata che distingue tra maiuscole e minuscole, vengono filtrate solo le intestazioni corrispondenti al 100%, mentre nella logica del programma queste si applicano senza tenere in considerazione la distinzione maiuscole-minuscole. Questo ha permesso di bypassare il filtro modificando la maiuscola o minuscola del primo carattere del nome dell’intestazione, consentendo a un attaccante di infiltrare qualsiasi intestazione.
La buona notizia è che i componenti camel-bean o camel-exec devono essere attivati in combinazione con un componente basato su HTTP, come camel-http, camel-http4, camel-rest o camel-servlet. Inoltre, lo sfruttamento è limitato ai metodi interni specificati nell’URI della richiesta HTTP. È rassicurante anche sapere che questa vulnerabilità richiede autenticazione per essere sfruttata. Pertanto, se gli sviluppatori hanno implementato meccanismi di autorizzazione per l’API HTTP di Camel, il rischio di sfruttamento da parte di utenti senza le giuste credenziali è significativamente ridotto.
Al vertice della scala di rischio, l’attivazione mirata del componente “Camel Exec” può consentire a un attaccante di eseguire comandi arbitrari sul sistema con i privilegi dell’utente che esegue il processo Camel. Questo è possibile inviando l’header “CamelExecCommandExecutable” per specificare un comando shell che sovrascrive quelli configurati nel back-end. Il rischio è particolarmente elevato quando le API HTTP vulnerabili di Camel risultano accessibili da Internet. Tuttavia, questa vulnerabilità potrebbe essere sfruttata anche da un insider per muoversi lateralmente all’interno della rete o da aggressori che hanno già ottenuto un accesso iniziale alla rete interna di un’organizzazione.
Akamai ha fornito una descrizione tecnica della catena di exploit e del Proof of Concept.
Qual è il punteggio CVSS appropriato?
Sebbene le vulnerabilità CVE-2025-27636 (CVSS 5.6) e CVE-2025-29891 (CVSS 4.2) siano state classificate come moderatamente gravi, il loro impatto può diventare critico se i componenti “camel-bean” o “camel-exec” sono attivati in combinazione con componenti basati su HTTP. Questa situazione mette in evidenza alcune limitazioni del Common Vulnerability Scoring System (CVSS), che fornisce una valutazione standardizzata della gravità delle vulnerabilità, ma non sempre considera il contesto specifico di utilizzo.
I ricercatori di Akamai hanno evidenziato che la CVE-2025-27636 è relativamente semplice da sfruttare e hanno pubblicato un codice Proof of Concept (PoC), contribuendo ad aumentare la consapevolezza del rischio associato. Questo implica che la metrica “Attack Complexity” (AC) del Common Vulnerability Scoring System (CVSS) dovrebbe essere impostata su “Bassa” (AC:L). Tuttavia, il Cybersecurity and Infrastructure Security Agency – Authorized Data Publisher (CISA-ADP) ha valutato la complessità dell’attacco come “Alta” (AC:H). In risposta a questi sviluppi, Red Hat ha rivalutato la vulnerabilità, aumentando il punteggio CVSS per la CVE-2025-27636 a 6,3.
Sebbene inizialmente il CISA-ADP non avesse identificato un impatto significativo sulla riservatezza (confidentiality) di CVE-2025-29891, ulteriori analisi hanno rivelato che questa vulnerabilità potrebbe consentire l’esecuzione remota di codice arbitrario (Remote Code Execution, RCE) su sistemi con una configurazione vulnerabile di Apache Camel. Di conseguenza, è stato ritenuto appropriato rivalutare l’impatto della vulnerabilità, classificandolo come elevato in termini di riservatezza (C), integrità (I) e disponibilità (A). Questo ha portato a un aumento del punteggio CVSS (Common Vulnerability Scoring System) della vulnerabilità a 9.8, indicando una criticità molto elevata.
La Cybersecurity and Infrastructure Security Agency – Authorized Data Publisher (CISA-ADP) ha assegnato alla vulnerabilità CVE-2025-29891 il valore “Nessuno” (N) per le autorizzazioni richieste (PR). Tuttavia, il Proof of Concept (PoC) pubblicato da Akamai dimostra come l’exploit possa avvenire senza l’uso di connessioni HTTPS né autenticazione. È importante ricordare che eseguire un’API non crittografata e non autenticata è altamente rischioso. Apache Camel offre meccanismi di sicurezza come l’API Java Secure Socket Extension (JSSE) per Transport Layer Security (TLS) e l’integrazione con server di autorizzazione Single Sign-On (SSO) come KeyCloak. Le istanze di Camel che implementano l’autenticazione client sono protette da potenziali exploit. Pertanto, nella maggior parte dei casi, il valore PR dovrebbe essere impostato su “Basso” (L) o “Alto” (H), il che ridurrebbe il punteggio CVSS rispettivamente a 7,3 o 8,8.
Inoltre, alle CVE è stato assegnato il valore “Scope Unchanged” (UC). Secondo la specifica CVSS v3.1, “questa metrica indica se una vulnerabilità in un componente ha un impatto su risorse al di fuori del suo ambito di sicurezza.” L’esecuzione di comandi shell arbitrari su un sistema compromesso è generalmente valutata con “Scope Changed” (C). Se il processo Camel è eseguito con privilegi di root su Linux/Unix o come amministratore su Windows, un attaccante potrebbe ottenere un controllo quasi totale sul sistema. Considerando la variabilità delle valutazioni CVSS, le vulnerabilità CVE-2025-27636 e CVE-2025-29891 dovrebbero essere trattate come critiche in configurazioni vulnerabili prive di autenticazione.
Trattamento delle CVE in Apache Camel
Le vulnerabilità CVE-2025-27636 e CVE-2025-29891 interessano Apache Camel nelle seguenti versioni: 4.10 fino alla 4.10.1, 4.8 fino alla 4.8.4, 3 fino alla 3.22.3. Si consiglia agli utenti di aggiornare alle versioni 4.10.2, 4.8.5 o 3.22.4, oppure di implementare un filtro di intestazione personalizzato utilizzando removeHeader o removeHeaders nelle rotte di Camel. È importante notare che le versioni 4.10.0, 4.10.1, dalla 4.8.0 alla 4.8.4 e dalla 3.10.0 alla 3.22.3 rimangono vulnerabili, nonostante siano considerate aggiornamenti di sicurezza che avrebbero dovuto correggere l’errore.
Nelle architetture distribuite, è fondamentale che tutti i terminali HTTP implementino un’autenticazione robusta. Per Apache Camel, sono disponibili diverse opzioni per garantire la sicurezza delle comunicazioni: utilizzo dell’API Java Secure Socket Extension (JSSE) per TLS con componenti Camel o utilizzo di un server di autorizzazione KeyCloak OAuth 2.0 SSO. Per i sistemi legacy deve essere configurata almeno l’autenticazione di base HTTP.
Per riassumere
Si consiglia agli utenti di Apache Camel di effettuare l’aggiornamento immediato alle versioni 4.10.2, 4.8.5 o 3.22.4. In alternativa, è possibile implementare il filtraggio personalizzato delle intestazioni utilizzando removeHeader o removeHeaders nelle rotte Camel. È inoltre fortemente raccomandato l’uso di un’autenticazione robusta su tutti gli endpoint HTTP. Apache Camel supporta l’API JSSE per soluzioni TLS e l’integrazione con Keycloak per OAuth 2.0 SSO. Greenbone è in grado di rilevare sia la CVE-2025-27636 che CVE-2025-29891 attraverso test di vulnerabilità che controllano attivamente gli endpoint HTTP potenzialmente sfruttabili.

Joseph has had a varied and passionate background in IT and cyber security since the late 1980s. His early technical experience included working on an IBM PS/2, assembling PCs and programming in C++.
He also pursued academic studies in computer and systems engineering, anthropology and an MBA in technology forecasting.
Joseph has worked in data analytics, software development and, in particular, enterprise IT security. He specialises in vulnerability management, encryption and penetration testing.