
Docker-Lab zur Validierung der CVE-2026-75650 Magento-Primitive für PHP-Ausführung auf Komponentenebene und des Adobe-VULN-39341-Patches.
Dieses eigenständige Labor reproduziert die Komponenten-Level-PHP-Ausführungsprimitive von StyleSmuggler auf einem revisions-pinnenden Magento-Open-Source-2.4.9-Checkout und beweist anschließend, dass Adobes VULN-39341-Patch die identische Eingabe blockiert.
Der Beweis ist nicht-destruktiv: Das enthaltene PHP kann nur einen zufälligen Marker in
/tmp schreiben. Es kann keinen Befehl ausführen, keine Datei herunterladen, keinen
Callback öffnen oder eine vom Betreiber bereitgestellte Nutzlast akzeptieren.
Das Labor bietet:
755e34dd689021c5165db9d35ecff74f7dc51527 gepinnt ist;Das Labor behauptet nicht einen Standard-Exploit ohne Authentifizierung über HTTP. Die Komponentensonde startet am realen E-Mail-Template-Modell und beweist damit die gefährliche Senke und die Patch-Grenze, nicht den fehlenden Netzwerk-zu-Template-Konnektor. Es wird keine synthetische HTTP-Route hinzugefügt.
Verwenden Sie dies nur auf Systemen, die Sie besitzen oder für die Sie ausdrücklich autorisiert sind, Tests durchzuführen. Platzieren Sie die PHP-Sonde nicht unter einem Produktions-Web-Root. Verwenden Sie für eine echte Installation den schreibgeschützten Validator oder validieren Sie einen Wegwerf-Staging-Klon.
Anforderungen:
Nur das Developer-Mode-Storefront-Gateway wird veröffentlicht, und zwar nur auf Loopback
(127.0.0.1:8096 standardmäßig). Ein zweites, nicht exponiertes nginx-Gateway wählt die
standardmäßige Produktionsfehlerbehandlung, sodass der Berichtstest Magentos normale
Berichtskennung erhält. MariaDB, Redis, OpenSearch, PHP-FPM und dieses Berichts-Gateway sind
nicht für das Host-Netzwerk exponiert.
cd docker-lab
cp .env.example .env
docker compose up -d --build
docker compose logs -f php
Der anfängliche Magento-Klon, die Abhängigkeitsinstallation und die Anwendungsinstallation
dauern normalerweise 15–40 Minuten. Wenn das PHP-Protokoll Ready ausgibt, führen Sie Folgendes aus:
docker compose exec -T php bash /lab/scripts/run-ab.sh
Oder verwenden Sie die Komfortziele:
make up
make wait
make ab
Der A/B-Befehl versucht immer, die Quelle im gepatchten Zustand zu belassen.
Der Test besteht nur, wenn beide unabhängig getesteten Hälften wie erwartet funktionieren:
Unpatched report: raw-tag=true, guard=false
Patched report: raw-tag=false, guard=true, neutralized=true
Unpatched component: marker=true
Patched component: marker=false
[PASS] Report storage and component execution match the required A/B controls.
Ein HTTP-200, eine gerenderte Benachrichtigung, ein generierter Fehlerbericht oder eine ausgelöste Ausnahme wird nicht als Ausführungsnachweis akzeptiert. Die Berichts- und Ausführungsprüfungen bleiben getrennt: Ihr gemeinsamer Erfolg erfindet nicht den unbewiesenen Standard-HTTP-Konnektor.
make vulnerable
make report # erwartet: rohes Tag erhalten, keine Ausführungsabsicherung
make probe # erwartet: execution_observed=true und Exit 0
make patched
make report # erwartet: Exit-Absicherung vorhanden, Nutzlast-Tag neutralisiert
make probe # erwartet: execution_observed=false und Exit 2
make probe, das im gepatchten Zustand 2 zurückgibt, ist das erwartete negative Ergebnis;
make ab behandelt beide Exit-Status und gibt nur dann 0 zurück, wenn das vollständige A/B besteht.
Diese Prüfung startet Magento nie und führt keinen Code aus dem eingehängten Baum aus. Der Container hat kein Netzwerk, keine Linux-Capabilities, ein schreibgeschütztes Root-Dateisystem und einen schreibgeschützten Ziel-Mount.
make validate TARGET=/absolute/path/to/magento
Erwartetes vollständig gepatchtes Urteil:
Summary: 9/9 controls present
Verdict: FULL_CONTROL_SET_PRESENT
Alles andere wird als FULL_CONTROL_SET_NOT_CONFIRMED gemeldet, nicht automatisch als
ausnutzbar. Bestätigen Sie die genaue Commerce-Edition/-Version und wenden Sie Adobes
versionsabgestimmten Patch über den unterstützten Bereitstellungsprozess an.
Der genauere Name ist Marker-only-Komponenten-Codeausführungssonde. End-to-End-Remote-RCE erfordert, dass eine Standard-Remote-Anfrage ihren eigenen unabhängigen Marker oder Callback auf dem getesteten Build erzeugt.
Siehe Technische Hinweise für den Datenfluss, die neun Patch-Steuerungen und die Beweisstärke-Tabelle. Die genauen getesteten Ergebnisse sind in VALIDATION.md dokumentiert.
Verwenden Sie das offizielle Bulletin und den Patch, der der bereitgestellten Version entspricht:
Der hier eingebettete Patch ist nur für das öffentliche 2.4.9-Monorepo-Labor pfadzugeordnet. Wenden Sie ihn nicht direkt auf eine Produktions-Composer-Installation an. Das Patchen entfernt auch keinen bereits vorhandenen Implantat oder stellt exponierte Anmeldedaten nicht wieder her.
make down # Volumes beibehalten
make reset # Quell-, Datenbank- und OpenSearch-Volumes dieses Labors löschen