🇰🇷 한글 설명
JWT Auth WordPress 플러그인 3.0.2 이하 버전은 사용자가 비밀번호를 변경·재설정하거나 연결된 기기를 제거해도 이전에 발급된 리프레시 토큰을 무효화하지 않습니다. 이로 인해 사전에 토큰을 탈취한 공격자가 계정에 계속 접근하여 관리자 권한까지 획득할 수 있습니다.
💡 쉬운 설명
비밀번호를 바꾸거나 기기 연결을 끊어도, 예전에 훔쳐간 로그인 열쇠(토큰)가 여전히 작동합니다. 그래서 공격자는 계정 주인이 대응한 뒤에도 계속 로그인 상태를 유지할 수 있습니다.
🇺🇸 원문 (English)
The JWT Auth WordPress plugin through 3.0.2 does not invalidate previously issued refresh tokens when a user changes or resets their password or removes a connected device, allowing an attacker who obtained a refresh token before such an event to keep issuing valid access tokens and retain authenticated access to the account, up to Administrator.
📍 영향받는 시스템
JWT Auth WordPress 플러그인 3.0.2 이하 버전
⚔️ 공격 벡터
공격자가 사전에 리프레시 토큰을 탈취한 뒤, 피해자가 비밀번호를 변경하거나 기기를 제거해도 해당 토큰으로 유효한 액세스 토큰을 계속 발급받아 관리자 권한까지 접근
🛡️ 대응 방법
JWT Auth 플러그인을 3.0.2보다 높은 패치 버전으로 업데이트하고, 업데이트 후 모든 사용자의 리프레시 토큰을 강제로 폐기하며, 필요시 비밀번호를 재설정하세요.
🔧 검증 코드
출력된 version 값이 3.0.2 이하이면 취약한 버전이므로 즉시 업데이트가 필요하며, 명령이 결과를 반환하지 않으면 해당 플러그인이 설치되지 않은 것입니다.
wp plugin list --name=jwt-auth --fields=name,version,status 2>/dev/null || grep -rh "Version:" wp-content/plugins/jwt-auth/*.php 2>/dev/null | head -n 1