Causa

L'attacco Dependency Confusion permette di eseguire in remoto codice arbitrario su un server ingannando un manager di dipendenza (ad esempio, il Compositore di PHP) per scaricare un pacchetto dannoso da una sorgente pubblica invece del pacchetto originale da un archivio privato.

Un attacco di questo tipo può anche non essere rilevato se l’autore dell’attacco è in grado di mantenere la funzionalità del pacchetto originale.

Gli aggressori possono sfruttare questa vulnerabilità se un pacchetto è disponibile solo tramite archivi privati, ma non è registrato in quello pubblico. L’autore dell’attacco carica quindi un pacchetto con lo stesso nome nell’archivio pubblico e gli assegna una versione superiore a quella disponibile privatamente. Il manager delle dipendenze confronta quindi le versioni dei pacchetti disponibili sia privatamente che pubblicamente e sceglie la più alta dall’archivio pubblico. Il codice dannoso scaricato dal gestore delle dipendenze verrà quindi eseguito con gli stessi privilegi del codice dell’applicazione.

Risoluzione

Consigli agli esercenti

  • Considera seriamente il messaggio di errore visualizzato quando il plug-in interrompe l’installazione o l’aggiornamento del compositore e, se riconosci il pacchetto potenzialmente compromesso, contatta lo sviluppatore dell’estensione.
  • È comunque possibile installare Adobe Commerce con la versione sicura del pacchetto dal Marketplace o da un altro archivio privato attendibile.
  • Modificare la versione del pacchetto richiesta in composer.json con la versione esatta trovata nel Marketplace per procedere con l'installazione/aggiornamento del compositore.