Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-79984 — Riproduttore proof-of-concept eseguibile per CVE-2026-79984, un path traversal in Apache Camel camel-mina-sftp, con fixture di server SFTP malevoli e build vulnerabili e corrette. | Kitploit
Strumenti/GitHubGitHub/oscerd/cve-2026-79984
Strumenti DifensiviAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e Formazione
GitHuboscerd/cve-2026-79984

CVE-2026-79984

Riproduttore proof-of-concept eseguibile per CVE-2026-79984, un path traversal in Apache Camel camel-mina-sftp, con fixture di server SFTP malevoli e build vulnerabili e corrette.

Vedi Repository
2 giorni 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

CVE-2026-79984 — camel-mina-sftp: il consumer costruisce il percorso remoto dal listing del server senza contenimento

Reproduttore proof-of-concept eseguibile per la vulnerabilità di Apache Camel in cui il consumer mina-sftp — che deriva dalla stessa classe base RemoteFileConsumer degli altri consumer di file remoti — costruisce il percorso remoto assoluto di ciascun file sottoposto a polling concatenando la directory configurata con il nome riportato nel listing della directory del server, senza alcuna normalizzazione lessicale e senza alcun controllo di contenimento. Tale percorso diventa poi l'operando per il recupero (sempre), e per la cancellazione o la rinomina quando sono configurati delete=true, move, preMove, moveFailed o readLock=rename.

Il nome di una voce di directory SFTP è una stringa di protocollo grezza fornita dal server, quindi un server compromesso, malevolo o multi-tenant può riportare un nome che non è un singolo segmento di percorso.

Questo è il fratello mina-sftp di CVE-2026-79983 (camel-ftp); entrambi condividono la stessa causa radice e la stessa correzione.

RuntimeDirectoryStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-mina-sftp 4.22.0 (affetto; corretto in 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-mina-sftp 3.39.0 (Camel 4.22.0, affetto; controllo corretto 3.40.0 / Camel 4.22.1)

camel-mina-sftp è stato introdotto in Camel 4.18.0, quindi il componente non esiste nel Camel 4.15.0 incluso nell'ultima versione numerata di Camel Quarkus; questo reproduttore usa Camel Quarkus 3.39.0 (Camel 4.22.0, affetto), con 3.40.0 (Camel 4.22.1) come controllo corretto. Entrambi i moduli dimostrano quindi il comportamento affetto e quello corretto.

Cosa dimostra

L'app incorpora un server SFTP deliberatamente malevolo (Apache MINA SSHD). Serve un albero di directory temporanee reale ma riscrive, nella sua risposta SSH_FXP_READDIR, il nome di un file nella directory sottoposta a polling /upload con la stringa di traversal d/../../outside.txt (tramite un override di getShortName). Il nome non inizia con un punto, quindi la regola di Camel sui file nascosti non lo intercetta, e /upload + d/../../outside.txt si risolve in /outside.txt, un livello sopra la directory sottoposta a polling. Un semplice consumer mina-sftp esegue il polling di /upload.

  • Affetto: recupera sia normal.txt sia il file in fuga /outside.txt.
  • Corretto: mantiene normal.txt e salta la voce in fuga, registrando nel log Skipping file as it resolves outside the starting directory: upload/d/../../outside.txt.
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

Output previsto sulla build interessata:

    name=[d/../../outside.txt]  <<< FILE FROM OUTSIDE THE POLLED DIRECTORY
        content: OUTSIDE-SECRET (/outside.txt, a file the consumer should never reach)
    name=[normal.txt]  (inside)

Riepilogo della vulnerabilità

ProprietàValore
Componentecamel-mina-sftp (schema mina-sftp)
CWECWE-22 (Limitazione impropria di un percorso a una directory ristretta)
GravitàALTA
Vettore di attaccoUn nome di voce READDIR (fornito dal server) che non è un singolo segmento di percorso
ImpattoLettura — e, con delete/move/readLock=rename, cancellazione o ridenominazione — di file al di fuori della directory sottoposta a polling, utilizzando le credenziali dell'endpoint
Versioni interessateDalla 4.18.0 precedente alla 4.18.5, dalla 4.19.0 precedente alla 4.22.1
Versioni corrette4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24487
RiconoscimentoDilrevx di NSSL, SJTU

Avviso: https://camel.apache.org/security/CVE-2026-79984.html

La correzione

GenericFileConsumer.isWithinStartingDirectory (sovrascritto da RemoteFileConsumer, da cui deriva il consumer mina-sftp) compatta il percorso risolto e verifica, sui confini dei segmenti di percorso, che rimanga all'interno della directory sottoposta a polling; una voce che si risolve all'esterno viene saltata con un avviso mentre le voci legittime vengono comunque elaborate.

Mitigazione se non è possibile aggiornare

Verificare la chiave host del server, limitare il consumer con filter/antInclude/include per accettare solo nomi a singolo segmento, ed evitare delete/move/preMove/moveFailed/readLock=rename verso server i cui elenchi non sono pienamente attendibili. Ove possibile, confinare l'account del server alla directory sottoposta a polling.

Disclaimer

Questo repository è pubblicato per scopi educativi e difensivi: per aiutare gli utenti di Apache Camel a comprendere la vulnerabilità, verificare se sono interessati e confermare che l'aggiornamento la risolve. Il server malevolo e il "secret" sono fixture locali inerti. Non utilizzare questo materiale contro sistemi di cui non si è proprietari o gestori.

Scarica lo strumento