🇰🇷 한글 설명
WordPress의 Simple JWT Login 플러그인에서 인증 우회 및 권한 상승 취약점이 발견되었습니다. 공격자가 payload 파라미터를 통해 관리자의 이메일 등 식별 정보를 주입하면, 사이트의 비밀키로 서명된 유효한 JWT를 생성하여 관리자 권한을 획득할 수 있습니다.
💡 쉬운 설명
로그인 과정에서 사용자가 입력한 정보가 제대로 검증되지 않아 발생하는 문제입니다. 일반 사용자가 관리자의 이메일 주소를 몰래 끼워 넣어 관리자처럼 로그인할 수 있습니다.
🇺🇸 원문 (English)
The Simple JWT Login – Allows you to use JWT on REST endpoints. plugin for WordPress is vulnerable to Authentication Bypass to Privilege Escalation in all versions up to, and including, 3.6.6 via the `payload` parameter. The vulnerability exists because `AuthenticateService::generatePayload()` only overwrites JWT payload keys whose names appear in the admin-configured `jwt_payload` list — leaving any attacker-supplied identity claims such as `email`, `id`, or `username` intact and signed into the JWT with the site's HS256 secret. This makes it possible for authenticated attackers, with subscriber-level access and above, to escalate their privileges to that of an Administrator by injecting a target administrator's email address into the `payload` parameter at the `/wp-json/simple-jwt-login/v1/auth` endpoint, then redeeming the resulting JWT at the `/autologin` endpoint to obtain a fully authenticated session as that administrator.
📍 영향받는 시스템
Simple JWT Login WordPress plugin (version 3.6.6 및 그 이하 모든 버전)
⚔️ 공격 벡터
/wp-json/simple-jwt-login/v1/auth 엔드포인트의 payload 파라미터에 관리자 정보를 주입하여 JWT 획득 후 /autologin을 통해 세션 탈취
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하거나, 관리자 권한 탈취가 가능한 payload 파라미터 조작을 방지하는 패치를 적용하십시오.
🔧 검증 코드
명령어 결과에 해당 플러그인이 나타나면 설치된 것이며, 설치된 버전이 3.6.6 이하인지 확인하여 취약 여부를 판단합니다.
wp plugin list --status=active | grep -i 'simple-jwt-login'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
IBM Verify Identity Access