
CVE-2026-92592에 대한 Python 개념 증명 익스플로잇으로, Craft CMS의 인증된 RCE 취약점으로, 서명된 license-shun 쿠키를 악용하여 Twig 페이로드를 실행하고 명령을 실행합니다.
CVE-2026-92592 / GHSA-5r92-75j8-c534에 대한 개념 증명입니다. Craft는 인증된 license-shun 쿠키에서 공격자가 제어하는 데이터를 서명된 로그인 리디렉션에 사용되는 것과 동일한 키와 형식으로 서명합니다. 해당 서명된 값을 redirect로 재사용하면 Craft가 이를 샌드박스가 적용되지 않은 Twig로 렌더링하여, Twig의 map('system') 동작을 통해 명령 실행이 가능해집니다.
Craft CMS 4.8.0부터 4.18.5까지, 그리고 5.0.0부터 5.10.12까지가 영향을 받습니다. 4.18.6 또는 5.10.13 이상으로 업그레이드하십시오. Craft 5.9.8이 영향을 받습니다.
소유하거나 테스트 권한이 있는 시스템에만 사용하십시오.
requestscookieValidationKey와 Craft의 securityKey 사이의 기본 관계system(), sh, base64 사용 가능격리된 환경을 만들고 Python 패키지를 설치하십시오:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install requests
대상 URL, 사용자 이름, 비밀번호, 명령을 사용하여 익스플로잇을 실행하십시오:
python3 craftcms_rce.py \
-t https://craft.example \
-u author \
-p 'password' \
'id'
명령줄 비밀번호는 셸 기록 및 프로세스 목록에 노출될 수 있습니다. 임시 테스트 자격 증명을 사용하십시오. HTTP 디버깅 프록시에는 --proxy를, 대상이 검증할 수 없는 인증서를 사용하는 경우에만 --insecure를 전달하십시오.
명령의 stdout과 stderr는 결합되어 stdout에 출력됩니다. 모든 옵션은 python3 craftcms_rce.py --help를 실행하십시오.
app/set-license-shun-cookie에 Twig 페이로드를 전송하고 Craft의 서명된 쿠키 값을 캡처합니다.redirect 매개변수로 제출합니다.