🇰🇷 한글 설명
사용자 이름을 공격 벡터로 활용하는 저장형 XSS 취약점입니다. 관리자가 감사 로그의 상세 내용을 조회할 때, 사용자 이름에 포함된 악성 자바스크립트가 출력값 검증 미비로 인해 실행될 수 있습니다. 현재는 감사 로그 출력 시 적절한 이스케이프 처리가 추가되어 해결되었습니다.
💡 쉬운 설명
해커가 자신의 이름을 악성 코드로 설정하면, 관리자가 로그를 확인하는 순간 관리자의 권한을 탈취할 수 있는 보안 약점입니다. 시스템이 이름을 화면에 보여줄 때 코드로 인식하지 않도록 안전하게 처리하는 과정이 필요합니다.
🇺🇸 원문 (English)
A stored XSS can be exploited by leveraging the usernames as an attack vector. When an admin user viewed the audit log details for affected entries, any malicious JavaScript payload embedded in the username would be executed due to missing output sanitisation. Proper escaping has been added to the audit log details output.
📍 영향받는 시스템
사용자 이름을 감사 로그에 기록하는 모든 시스템 (패치 전 버전)
⚔️ 공격 벡터
사용자 이름 필드에 악성 자바스크립트 페이로드를 삽입하여 저장한 후, 관리자가 해당 로그를 조회하도록 유도
🛡️ 대응 방법
감사 로그 출력 시 사용자 이름 데이터에 대해 HTML 엔티티 이스케이프(Output Sanitization) 적용
🔧 검증 코드
명령어 실행 결과로 악성 스크립트 태그가 그대로 노출된다면 취약한 상태이며, <script>와 같이 변환되어 있다면 안전한 상태입니다.
curl -s http://target-system/api/audit-log | grep -E '<script>alert\(1\)</script>'