🇰🇷 한글 설명
lichess.org의 스터디 기능에서 PGN Annotator 태그에 악의적인 텍스트를 삽입할 수 있는 취약점이 발견되었습니다. 특정 조건에서 이 텍스트가 HTML로 해석되어 삽입됨으로써, 다른 사용자의 브라우저에서 HTML 및 CSS 주입 공격이 가능합니다. 이로 인해 콘텐츠 위조나 CSS 기반 데이터 노출이 발생할 수 있으나, CSP 설정으로 인해 자바스크립트 실행은 차단됩니다.
💡 쉬운 설명
체스 학습 도구에 악성 코드가 담긴 글을 올리면, 다른 사람이 그 글을 볼 때 화면이 이상하게 변하거나 가짜 사이트로 유도될 수 있는 문제입니다. 다행히 해커가 직접적인 명령어를 실행하는 것은 보안 설정에 의해 막혀 있습니다.
🇺🇸 원문 (English)
lichess.org is the forever free, adless and open source chess server. Prior to commit c54596c9e1569d378fe20f80d4c790c6fdee54c4, a user who can add a chapter to a study can place attacker-controlled text in the PGN Annotator tag, which becomes Comment.Author.External and is returned verbatim by authorText. When a study node has at least two comments, ui/analyse/src/treeView/inlineView.ts interpolates that author string into HTML passed to the innerHTML hook without escaping it. Opening the affected study can therefore render stored attacker-controlled HTML and CSS for other viewers, including navigation to an attacker-controlled site, content spoofing, and CSS-based data exposure, although the site's content security policy blocks injected JavaScript. This vulnerability is fixed by commit c54596c9e1569d378fe20f80d4c790c6fdee54c4.
📍 영향받는 시스템
lichess.org (commit c54596c9e1569d378fe20f80d4c790c6fdee54c4 이전 버전)
⚔️ 공격 벡터
스터디에 챕터를 추가할 때 PGN Annotator 태그에 악성 HTML/CSS 코드를 삽입하여 저장
🛡️ 대응 방법
커밋 c54596c9e1569d378fe20f80d4c790c6fdee54c4 이상으로 시스템 업데이트
🔧 검증 코드
명령어 결과가 'Fixed'이면 패치가 적용된 것이고, 'Vulnerable'이면 취약한 상태입니다.
git rev-parse HEAD | grep -q c54596c9e1569d378fe20f80d4c790c6fdee54c4 && echo 'Fixed' || echo 'Vulnerable'