Apache Maven è uno strumento per la gestione dei progetti software basati su Java e build automation. Per funzionalità è similare ad Apache Ant, ma basato su concetti differenti. Può essere usato anche in progetti scritti in C#, Ruby, Scala e altri linguaggi.
L’ultima versione di Maven, la 3.8.1, contiene una correzione della vulnerabilità di sicurezza CVE-2021-26291 (Severity 9.1) che è stata rilevata e segnalata dal ricercatore Jonathan Leitschuh, la quale colpisce oltre 100.000 installazioni, secondo i team di ricerca di WhiteSource.
La vulnerabilità (seguita dalla PoC realizzata da Cédric Champeau), potrebbe provocare un attacco di man-in-the-middle (MitM) causato dal POM (l’unità di lavoro fondamentale in Maven, un file XML che contiene informazioni sul progetto) in Maven Central con repository personalizzati che fanno riferimento a un URL su HTTP, anziché su HTTPS.
Una delle tante configurazioni nei file pom.xml è un elenco di dipendenze che devono essere risolte.
Maven li gestisce nel seguente ordine:
- Verificando i file settings.xml (Globale e Utente) per qualsiasi configurazione di sistema e/o utente;
- Verifica se il pacchetto esiste nel repository locale, una directory sulla macchina che esegue Maven;
- Verifica se il pacchetto viene trovato, l’impostazione predefinita successiva è controllare il Maven Central Repository;
- Se Maven Central non è disponibile, il prossimo posto da controllare sarà un repository interno o esterno che può essere raggiunto e scaricato tramite HTTP. Ciò include qualsiasi risorsa privata dei manutentori, come i propri server o macchine: qui sta il problema.
Jonathan aveva precedentemente svolto ricerche in quest’area e aveva scoperto che migliaia di progetti OSS basati su Gradle e Maven si affidavano a HTTP anziché a HTTPS per risolvere le loro dipendenze.
Il rischio
L’utilizzo di HTTP invece di HTTPS potrebbe potenzialmente portare a un attacco man-in-the-middle. Un attacco MitM si verifica quando gli aggressori si inseriscono nelle reti degli utenti sfruttando le connessioni non sicure per accedere ad informazioni private e manometterle.
Ad esempio, quando utilizzi il wifi della tua caffetteria, se la connessione tra il tuo dispositivo e il server non è sicura, un aggressore MitM potrebbe nascondersi lì per poter intercettare informazioni utili.
Gli aggressori potrebbero sfruttare il problema di Maven, inserendosi nella rete degli utenti, per interrompere e fallire la connessioni al Maven Central Repository, causando un downgrade in HTTP. Inoltre potrebbero inserire dei pacchetti dannosi per eseguire il proprio codice sul computer dell’utente durante lo sviluppo e persino nell’ambiente dell’applicazione.
La Redazione di Red Hot Cyber fornisce aggiornamenti quotidiani su
bug,
data breach e
minacce globali. Ogni contenuto è validato dalla nostra community di esperti come
Pietro Melillo,
Massimiliano Brolli,
Sandro Sana,
Olivia Terragni e
Stefano Gazzella.
Grazie alla sinergia con i nostri
Partner leader nel settore (tra cui
Accenture,
CrowdStrike,
Trend Micro e
Fortinet), trasformiamo la complessità tecnica in consapevolezza collettiva, garantendo un'informazione accurata basata sull'analisi di fonti primarie e su una rigorosa
peer-review tecnica.