
Verificador no destructivo en Go que comprueba si una instancia de Camaleon CMS aplica la corrección de autorización para CVE-2026-102261 en el endpoint de recorte de medios.
Este proyecto contiene un verificador no destructivo para confirmar si una instancia autorizada de Camaleon CMS aplica la autorización introducida en la versión 2.9.3.
El problema afecta a POST /admin/media/crop en Camaleon CMS hasta 2.9.2. Un usuario con :manage, :media, pero sin :manage, :users, podía proporcionar el ID de otro usuario en saved_avatar y lograr una escritura de avatar fuera de su objeto autorizado. La corrección exige :manage, :users para cualquier objetivo que no sea el propio usuario.
El verificador envía un único POST autenticado con:
saved_avatar de una cuenta desechable diferente de la cuenta autenticada;cp_img_path deliberadamente inexistente.En la versión corregida, la autorización ocurre antes de cualquier procesamiento de archivo y la aplicación responde con redirección (normalmente 302). En una versión antigua, la solicitud no es denegada en esa etapa y el resultado es solo INCONCLUSIVO: este programa no envía imagen, no lee datos y no intenta modificar avatar alguno.
Cree dos cuentas de prueba en el mismo sitio:
:manage, :media, pero sin :manage, :users;Obtenga la cookie de sesión de la primera cuenta y ejecute:
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 significa que el endpoint denegó la operación antes de procesar la ruta de imagen. INCONCLUSIVE pide validación de la versión instalada y actualización; no es confirmación de explotación.
Actualice a Camaleon CMS 2.9.3 o posterior. El parche es c143e145caa600947e70a240e87f2fed889149d3.