🔍 CVE-2026-8426

8.8
CVSS Score
HIGH
2026-05-21
2026-07-23 16:10
✅ 완료

🇰🇷 한글 설명

Concrete CMS 9.5.0 이하에서 패키지 업그레이드 요청(/dashboard/extend/update/prepare_remote_upgrade/<remoteMPID>)에 대한 CSRF 토큰 검증이 없어, 공격자가 제어하는 marketplace 패키지를 통해 웹 서버 사용자 권한으로 원격 코드를 실행할 수 있습니다. 피해자가 패키지 설치 권한이 있고 Concrete marketplace에 연결되어 있으며, 공격자가 설치된 marketplace item의 패키지를 제어해야 합니다.

💡 쉬운 설명

웹사이트 패키지 업데이트 기능이 정당한 요청인지 확인하지 않아, 공격자가 가짜 패키지를 업로드하여 서버를 완전히 장악할 수 있습니다. 높은 수준의 관리 권한이 필요하지만, 성공 시 전체 웹사이트 제어가 가능합니다.

🇺🇸 원문 (English)

Concrete CMS 9.5.0 and below does not validate a CSRF token before processing requests to /dashboard/extend/update/prepare_remote_upgrade/<remoteMPID>. An attacker who controls the remote package returned for a known marketplace item ID can overwrite the package PHP on disk and force its upgrade() method to execute in a single browser navigation. This results in remote code execution as the web server user.   In order to be vulnerable, the victim must be passing canInstallPackages, victim site must be connected to the Concrete marketplace; and the attacker controls the package returned for a marketplace item ID already installed on the victim site. The Concrete CMS security team gave this vulnerability a CVSS v.4.0 score of 7.5 with vector CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N. Thanks https://github.com/maru1009 for reporting.

📍 영향받는 시스템

Concrete CMS 9.5.0 이하 (canInstallPackages 권한 활성화, Concrete marketplace 연결 시)

⚔️ 공격 벡터

공격자가 CSRF로 /dashboard/extend/update/prepare_remote_upgrade/<remoteMPID> 요청 생성, marketplace에서 반환된 패키지 PHP 파일을 변조하여 upgrade() 메서드 실행 유도

🛡️ 대응 방법

Concrete CMS를 9.5.1 이상으로 업그레이드하거나 CSRF 토큰 검증 보안 패치 즉시 적용

🔧 검증 코드

요청이 CSRF 에러/토큰 필요 메시지를 반환하면 패치 적용됨, 200 OK 응답이면 취약한 상태입니다.

Shell / Script
curl -s http://target-site/dashboard/extend/update/prepare_remote_upgrade/test 2>&1 | head -20

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

PHP