Ursache

Dependency Confusion ermöglicht es, beliebigen Code aus der Ferne auf einem Server auszuführen, indem ein Dependency Manager (z.B. PHP’s Composer) dazu gebracht wird, ein bösartiges Paket aus einer öffentlichen Quelle herunterzuladen, anstatt das ursprüngliche Paket aus einem privaten Repository.

Ein solcher Angriff kann sogar unentdeckt bleiben, wenn ein Angreifer in der Lage ist, die Funktionalität des ursprünglichen Pakets beizubehalten.

Angreifer können diese Sicherheitslücke ausnutzen, wenn ein Paket nur über private Repositorys verfügbar ist, aber nicht im öffentlichen registriert ist. Der Angreifer lädt dann ein Paket mit demselben Namen in das öffentliche Repository hoch und gibt ihm eine höhere Version als die privat verfügbare. Der Abhängigkeits-Manager vergleicht dann Versionen von sowohl privaten als auch öffentlich verfügbaren Paketen und wählt die höchste aus dem öffentlichen Repository aus. Der vom Abhängigkeits-Manager heruntergeladene bösartige Code wird dann mit denselben Berechtigungen wie der Code der Anwendung ausgeführt.

Auflösung

Empfehlungen an Händler

  • Nehmen Sie die Fehlermeldung, die angezeigt wird, wenn das Plug-in die Composer-Installation/-Aktualisierung stoppt, ernst, und wenden Sie sich an den Entwickler der Erweiterung, wenn Sie das potenziell kompromittierte Paket erkennen.
  • Sie können Adobe Commerce weiterhin mit der sicheren Paketversion vom Marketplace oder einem anderen vertrauenswürdigen privaten Repository installieren.
  • Ändern Sie die erforderliche Paketversion in Ihrem composer.json in die exakte Version auf dem Marketplace, um mit der Installation/Aktualisierung von Composer fortzufahren.