🔍 CVE-2026-92916

7.5
CVSS Score
HIGH
2026-09-17
2026-09-30 18:18
✅ 완료

🇰🇷 한글 설명

Grav CMS에서 디버거가 활성화된 경우, 인증 없이 Clockwork 프로파일러 엔드포인트에 접근할 수 있는 취약점입니다. 공격자는 이를 통해 세션 쿠키, 평문 비밀번호, API 키 및 시스템 설정 등 민감한 정보를 탈취할 수 있습니다.

💡 쉬운 설명

웹사이트의 관리 도구가 암호 없이 외부에 노출되어, 해커가 관리자의 로그인 정보나 비밀번호를 훔쳐볼 수 있는 위험한 상태입니다. 이로 인해 사이트의 모든 제어권을 해커에게 넘겨줄 수 있습니다.

🇺🇸 원문 (English)

Grav is a flat-file CMS. In Grav 1.7.0 through 1.7.53.2 and 2.0.0 through 2.0.21, when the debugger is enabled (system.debugger.enabled: true, which is not the default), the Clockwork profiler endpoint is exposed without authentication: InitializeProcessor::handleDebuggerRequest() intercepts any path containing /__clockwork/ during bootstrap and passes it to Debugger::debuggerRequest(), which performs no user lookup, IP restriction, or Clockwork authenticator check, and also supports anonymous pagination over the entire stored history. With the shipped censored: false default, each stored record contains raw request cookies (including Grav's session cookie, whose value is the PHP session id, allowing an attacker to resume another user's session, including an authenticated admin's), the full parsed request body (Grav's login form posts data[username]/data[password], so passwords are stored in plaintext because Clockwork's password filter only inspects top-level keys), and the site's entire system and plugin configuration, including operator-saved secrets such as SMTP credentials, third-party API keys, and licence keys. Authorization and X-API-Token headers are stored even when censored: true. On Grav 2.0, setting provider: debugbar does not avoid the issue because Grav forces the Clockwork provider for requests preferring a JSON response. The issue is fixed in 1.7.53.4 and 2.0.22, which restrict /__clockwork/ to server-local requests or requests presenting the new system.debugger.token secret and strip cookies and credential headers from stored records. Workarounds include setting debugger.enabled: false or blocking /__clockwork/ at the web server or CDN.

📍 영향받는 시스템

Grav 1.7.0 ~ 1.7.53.2 및 2.0.0 ~ 2.0.21

⚔️ 공격 벡터

인증되지 않은 상태에서 /__clockwork/ 경로로 접근하여 저장된 디버그 기록 및 민감 데이터 탈취

🛡️ 대응 방법

Grav를 1.7.53.4 또는 2.0.22 이상 버전으로 업데이트하거나, debugger.enabled 설정을 false로 변경하십시오.

🔧 검증 코드

설정 파일에 debugger가 true로 되어 있고, 설치된 Grav 버전이 취약 버전 범위에 포함되는지 확인합니다.

Shell / Script
grep -r "system.debugger.enabled: true" /path/to/grav/config/ && composer show grav/core

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PHP