🇰🇷 한글 설명
WSO2 Identity Server를 대소문자 구분 없는 사용자 저장소와 대소문자 구분 있는 데이터베이스 조합으로 구성한 경우, 사용자명 대소문자 처리 불일치가 발생합니다. 이로 인해 특정 생명주기 이벤트에서 OAuth 토큰 폐기 작업이 혼합 대소문자 사용자명을 올바르게 식별하지 못해 토큰이 무효화되지 않습니다. 공격자는 혼합 대소문자 사용자명과 연관된 유효한 토큰을 보유하면 이를 악용할 수 있습니다.
💡 쉬운 설명
사용자 이름의 대문자와 소문자를 구분하지 못하는 문제로 인해 로그아웃이나 권한 해지 시 일부 인증 토큰이 취소되지 않습니다. 취소되지 않은 토큰으로 공격자는 만료 전까지 본래 제한된 작업을 수행할 수 있습니다.
🇺🇸 원문 (English)
In deployments of WSO2 Identity Server configured with a case-insensitive user store and a case-sensitive database for identity data, mismatches in username case handling can occur. This inconsistency results in OAuth token revocation operations failing to correctly identify usernames containing mixed-case characters during certain lifecycle events, preventing tokens from being invalidated.
A malicious actor can exploit this vulnerability by possessing a valid access or refresh token associated with a mixed-case username. In affected configurations, these tokens may not be revoked when expected. The actor can then leverage these unrevoked tokens, before their expiry, to continue performing actions that should have been restricted, effectively bypassing intended access controls.
📍 영향받는 시스템
WSO2 Identity Server (대소문자 구분 없는 사용자 저장소와 대소문자 구분 DB를 함께 사용하는 구성, 정확한 영향 버전은 WSO2 보안 권고문 확인 필요)
⚔️ 공격 벡터
혼합 대소문자 사용자명과 연결된 유효한 액세스/리프레시 토큰을 가진 공격자가 폐기되지 않은 토큰으로 만료 전까지 접근 제어를 우회하여 작업 수행
🛡️ 대응 방법
WSO2 Identity Server를 최신 보안 패치 버전으로 업그레이드하고, 공식 권고문의 수정 사항을 적용하며, 사용자 저장소와 DB의 대소문자 처리 설정을 일관되게 맞추기
🔧 검증 코드
설치 경로와 carbon.xml의 버전 정보를 확인하여 WSO2 공식 권고문에 명시된 취약 버전 범위에 해당하는지 비교하며, 결과가 없으면 설치 여부를 직접 확인해야 합니다.
ls /opt/wso2* 2>/dev/null | grep -i identity; grep -ri 'version' /opt/wso2is*/repository/conf/carbon.xml 2>/dev/null | head -5
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:L
💻 영향받는 소프트웨어
IBM Verify Identity Access