🇰🇷 한글 설명
WordPress용 CalJ 플러그인 1.5 버전 이하에서 권한 검증 누락 취약점이 발견되었습니다. CalJSettingsPage 클래스 생성자에서 'manage_options' 권한 확인 및 nonce 검증을 수행하지 않아, 인증된 사용자가 플러그인 설정을 임의로 변경할 수 있습니다.
💡 쉬운 설명
로그인 권한이 있는 일반 사용자라면 누구나 관리자 설정 페이지에 접근하여 플러그인의 중요한 설정을 마음대로 바꿀 수 있는 보안 결함입니다. 이로 인해 공격자가 플러그인의 API 키를 조작하거나 캐시를 삭제하여 서비스 운영을 방해할 수 있습니다.
🇺🇸 원문 (English)
The CalJ plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 1.5. This is due to a missing capability check in the CalJSettingsPage class constructor, which processes the 'save-obtained-key' operation directly from POST data without verifying that the requesting user has the 'manage_options' capability, and without any nonce verification. The plugin bootstrap file (calj.php) instantiates CalJSettingsPage whenever is_admin() returns true, which is the case for any authenticated user making requests to wp-admin URLs (including admin-ajax.php). This makes it possible for authenticated attackers, with Subscriber-level access and above, to modify the plugin's API key setting and clear the Shabbat cache, effectively taking control of the plugin's API integration.
📍 영향받는 시스템
WordPress CalJ plugin version 1.5 and below
⚔️ 공격 벡터
인증된 공격자가 POST 요청을 통해 'save-obtained-key' 작업을 수행하여 API 키 및 설정을 조작
🛡️ 대응 방법
CalJ 플러그인을 최신 버전으로 업데이트하거나, 권한 검증 및 nonce 확인 로직이 포함된 패치를 적용하십시오.
🔧 검증 코드
명령어 결과에 버전이 1.5 이하로 나타나면 해당 취약점에 노출된 상태입니다.
wp plugin list --name=calj --format=json | grep -E '"version":"[0-1]\.[0-5]"'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
💻 영향받는 소프트웨어
IBM Security Verify Access