🇰🇷 한글 설명
Gitea의 Jupyter 노트북 렌더러가 노트북의 language_info.name 메타데이터를 CSS 클래스 속성에 삽입할 때 검증 과정을 생략하고 iframe 샌드박스 없이 직접 렌더링하는 취약점입니다. 공격자는 악성 노트북을 통해 화면 전체를 덮는 오버레이를 생성하여 사용자의 클릭을 가로채는 UI Redressing 공격을 수행할 수 있습니다.
💡 쉬운 설명
해커가 만든 특수한 노트북 파일을 열면, 화면에 투명한 막이 생겨 사용자가 클릭하는 것을 방해하거나 엉뚱한 곳을 누르게 만들 수 있습니다. 이는 웹사이트의 화면 구성을 조작하여 사용자를 속이는 공격 방식입니다.
🇺🇸 원문 (English)
Gitea's Jupyter notebook renderer inserts the notebook's language_info.name metadata into a CSS class attribute while disabling sanitization and rendering directly in the main document without an iframe sandbox. A malicious repository notebook can supply multiple CSS classes that create a viewport-covering overlay and intercept clicks when another user views it. The reported impact is UI redress; script execution was not demonstrated.
📍 영향받는 시스템
Gitea (Jupyter notebook renderer 기능 사용 시)
⚔️ 공격 벡터
악성 메타데이터가 포함된 Jupyter 노트북 파일을 저장소에 업로드하여 다른 사용자가 이를 열람하도록 유도
🛡️ 대응 방법
Gitea를 최신 보안 패치가 적용된 버전으로 업데이트하고, 노트북 렌더링 시 샌드박스 환경을 강제하도록 설정
🔧 검증 코드
출력된 최신 버전 태그가 해당 취약점이 해결된 보안 패치 버전 이후인지 확인합니다.
curl -s https://api.github.com/repos/go-gitea/gitea/releases/latest | grep 'tag_name'