🔍 CVE-2026-10585

5.4
CVSS Score
MEDIUM
2026-06-30
2026-10-25 21:10
✅ 완료

🇰🇷 한글 설명

GitHub Enterprise Server의 Q&A 카테고리 토론 제목에 악성 페이로드를 삽입하여 다른 사용자의 브라우저에서 임의의 자바스크립트를 실행할 수 있는 저장형 XSS 취약점이 발견되었습니다. AnsweredQuestionStructuredDataComponent가 제목을 적절히 이스케이프하지 않아 발생하며, REST API의 JSONP 콜백을 이용해 CSP를 우회하여 공격이 가능합니다.

💡 쉬운 설명

게시글 제목에 몰래 악성 코드를 숨겨두면, 다른 사용자가 그 글을 읽을 때 사용자의 브라우저에서 해킹 코드가 실행될 수 있는 문제입니다. 공격자는 이를 통해 사용자의 정보를 훔치거나 계정을 탈취할 수 있습니다.

🇺🇸 원문 (English)

A stored cross-site scripting vulnerability was identified in GitHub Enterprise Server that allowed an authenticated attacker to execute arbitrary JavaScript in another user's browser by injecting a crafted payload into the title of a Discussion in the Q&A category. The AnsweredQuestionStructuredDataComponent did not escape user-controlled Discussion titles before embedding them in a <script type="application/ld+json"> block, allowing the title to break out of the script context. The injection was escalated to a full cross-site scripting attack on GitHub Enterprise Server by leveraging JSONP callback support in the REST API to bypass the Content Security Policy. This vulnerability affected all versions of GitHub Enterprise Server prior to 3.21 and was fixed in versions 3.20.4, 3.19.8, 3.18.11, 3.17.17, 3.16.20. This vulnerability was reported via the GitHub Bug Bounty program.

📍 영향받는 시스템

3.21 미만의 모든 GitHub Enterprise Server 버전

⚔️ 공격 벡터

Q&A 토론 제목에 조작된 페이로드를 삽입하고 JSONP 콜백을 이용해 보안 정책(CSP)을 우회함

🛡️ 대응 방법

GitHub Enterprise Server를 수정된 버전(3.20.4, 3.19.8, 3.18.11, 3.17.17, 3.16.20 이상)으로 업데이트

🔧 검증 코드

명령어 결과에 취약점이 해결된 버전 번호가 포함되어 있으면 안전합니다.

Shell / Script
curl -s http://<your-github-server>/api/v3/version | grep -E '"version": "(3.20.4|3.19.8|3.18.11|3.17.17|3.16.20|[3-9]\.[0-9]\.[0-9]+)'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N