
Nicht-destruktiver Go-Verifizierer, der prüft, ob eine Camaleon CMS-Instanz den Autorisierungs-Fix für CVE-2026-102261 im Media-Crop-Endpunkt anwendet.
Dieses Projekt enthält einen nicht destruktiven Verifizierer, um zu bestätigen, ob eine autorisierte Instanz von Camaleon CMS die in Version 2.9.3 eingeführte Autorisierung anwendet.
Das Problem betrifft POST /admin/media/crop in Camaleon CMS bis 2.9.2. Ein Benutzer mit :manage, :media, aber ohne :manage, :users, konnte die ID eines anderen Benutzers in saved_avatar angeben und so einen Avatar-Schreibzugriff außerhalb seines autorisierten Objekts erreichen. Die Korrektur erfordert :manage, :users für jedes Ziel, das nicht der Benutzer selbst ist.
Der Verifizierer sendet einen einzigen authentifizierten POST mit:
saved_avatar eines Wegwerf-Kontos, das sich vom authentifizierten Konto unterscheidet;cp_img_path.In der korrigierten Version erfolgt die Autorisierung vor jeder Dateiverarbeitung, und die Anwendung antwortet mit einer Weiterleitung (normalerweise 302). In einer älteren Version wird die Anfrage in diesem Schritt nicht verweigert, und das Ergebnis ist lediglich INCONCLUSIVE: Dieses Programm sendet kein Bild, liest keine Daten und versucht nicht, einen Avatar zu verändern.
Erstellen Sie zwei Testkonten auf derselben Website:
:manage, :media, aber ohne :manage, :users;Holen Sie das Sitzungs-Cookie des ersten Kontos und führen Sie aus:
go test ./...
go run . \
--i-own-this-lab \
--url http://127.0.0.1:3000 \
--cookie '_session_id=COLOQUE_A_SESSAO_DE_TESTE_AQUI' \
--nonself-user-id 42
PROTECTED bedeutet, dass der Endpunkt die Operation verweigert hat, bevor der Bildpfad verarbeitet wurde. INCONCLUSIVE erfordert eine Validierung der installierten Version und ein Update; es ist keine Bestätigung einer Ausnutzung.
Aktualisieren Sie auf Camaleon CMS 2.9.3 oder höher. Der Patch ist c143e145caa600947e70a240e87f2fed889149d3.