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-40987 — CVE-2026-40987 PoC | Kitploit
Strumenti/GitHubGitHub/daehyuh/cve-2026-40987
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingPaper e RicercaApprendimento e Formazione
GitHubdaehyuh/cve-2026-40987

CVE-2026-40987

CVE-2026-40987 PoC

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 →
Condividi

CVE-2026-40987: Spring Integration sincronizzazione file remota Path Traversal PoC

Questo repository è una PoC di riproduzione minima della CVE-2026-40987, pubblicata tramite l'avviso di sicurezza ufficiale di Spring.

  • Avviso ufficiale: https://spring.io/security/cve-2026-40987/
  • Titolo ufficiale: Remote-file synchronizer in Spring Integration writes server-supplied filename under localDirectory without canonicalization
  • Gravità: High
  • CVSS v3.1: AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:L
  • Data di pubblicazione: 2026-06-10

Riepilogo della vulnerabilità

Il remote-file synchronizer di Spring Integration poteva utilizzare il nome file fornito dal server remoto così com'era durante la creazione del percorso di salvataggio locale. Se la verifica del percorso canonico non era sufficiente, un server FTP/SFTP/SMB dannoso o compromesso poteva restituire un nome file come ../escaped-by-ftp-list.txt e indurre la scrittura di file al di fuori della localDirectory configurata.

Secondo l'avviso ufficiale, il problema non riguarda solo FTP, ma l'intera famiglia di sincronizzazione dei file remoti FTP/SFTP/SMB di Spring Integration. Questa PoC riproduce lo stesso percorso vulnerabile nel modo più piccolo e chiaro possibile utilizzando FtpInboundFileSynchronizer.

Ambito di impatto

Prodotti interessati secondo l'avviso ufficiale:

  • Spring Integration

Versioni interessate:

  • 7.0.0 - 7.0.4
  • 6.5.0 - 6.5.8
  • 6.4.0 - 6.4.11
  • 6.3.0 - 6.3.14
  • 5.5.0 - 5.5.20
  • Anche le versioni precedenti non più supportate possono essere interessate

Versioni corrette:

  • 7.0.5 oppure 7.0.4.1
  • 6.5.9 oppure 6.5.8.1
  • 6.4.12
  • 6.3.15
  • 5.5.21

Cosa mostra questa PoC

Il test mostra due percorsi.

  1. SpringIntegrationRemoteFilePathTraversalTest

    • Riproduce direttamente il percorso comune del remote-file synchronizer di Spring Integration.
    • Verifica se, quando il nome file remoto è ../escaped-by-spring-integration.txt, il percorso del file viene creato al di fuori della directory locale configurata.
  2. SpringIntegrationFtpPathTraversalTest

    • Avvia un piccolo server FTP dannoso all'interno del test.
    • Inserisce ../escaped-by-ftp-list.txt nella risposta LIST del server FTP.
    • Verifica che il reale FtpInboundFileSynchronizer di Spring Integration riceva questo nome file, scarichi incoming/../escaped-by-ftp-list.txt e che il file risultante venga creato al di fuori della directory downloads.

Il flusso principale della PoC è il seguente.

root@kitploit:~
configured localDirectory = <temp>/downloads
remote LIST filename      = ../escaped-by-ftp-list.txt
resulting local path      = <temp>/downloads/../escaped-by-ftp-list.txt
normalized location       = <temp>/escaped-by-ftp-list.txt

In pratica, è possibile scrivere file al di fuori della directory di download prevista dall'applicazione.

Modalità di esecuzione

Windows:

root@kitploit:~
.\mvnw.cmd test

macOS/Linux:

root@kitploit:~
./mvnw test

Risultato atteso con una versione vulnerabile:

root@kitploit:~
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESS

Il successo del test significa che "il comportamento vulnerabile è stato riprodotto". In altre parole, con dipendenze vulnerabili il test passa e dimostra la scrittura tramite uscita dalla directory.

Versioni verificate localmente

È possibile verificare diverse versioni vulnerabili con i seguenti comandi.

root@kitploit:~
.\mvnw.cmd "-Dspring-integration.version=6.4.10" test
.\mvnw.cmd "-Dspring-integration.version=6.5.8" test
.\mvnw.cmd "-Dspring-integration.version=7.0.4" test
.\mvnw.cmd "-Dspring-integration.version=7.1.0-RC1" test

Il valore predefinito di questo repository è spring-integration.version=7.0.4.

Perché è pericolosa

Questa vulnerabilità consente a un attaccante di scrivere contenuti controllati dall'attaccante nel filesystem locale dell'applicazione client. L'attaccante non è un normale client HTTP, ma deve poter manipolare le risposte del server di file remoto che l'applicazione interroga e di cui si fida.

I prerequisiti quindi esistono, ma se le condizioni sono soddisfatte sono possibili i seguenti impatti.

  • Creazione o sovrascrittura di file all'interno della directory di lavoro dell'applicazione
  • Posizionamento di file controllati dall'attaccante in batch input directory, web root, directory temporanee, ecc.
  • Impatti maggiori sull'integrità se combinati con pipeline di elaborazione successive

L'avviso ufficiale ha valutato questo problema come High.

Credit

L'avviso ufficiale di Spring attribuisce la segnalazione responsabile ai seguenti ricercatori.

  • M0untainShley
  • SharlongWen
  • daehyuh

Link di riferimento

  • Avviso ufficiale Spring: https://spring.io/security/cve-2026-40987/
  • Calcolatore CVSS: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:L&version=3.1
Scarica lo strumento