🇰🇷 한글 설명
showdown 라이브러리의 parseHeaders 함수에서 테이블 헤더 ID 속성을 적절히 이스케이프하지 못해 발생하는 저장형 XSS 취약점입니다. 공격자가 마크다운 테이블 헤더에 큰따옴표를 사용하여 임의의 HTML 및 스크립트 실행이 가능한 SVG 요소를 삽입할 수 있습니다.
💡 쉬운 설명
마크다운 표를 만들 때 특수 문자를 이용해 악성 코드를 숨겨 넣을 수 있는 보안 약점입니다. 이 코드가 포함된 페이지를 다른 사용자가 읽게 되면 해커가 의도한 악성 스크립트가 실행될 수 있습니다.
🇺🇸 원문 (English)
showdown contains a stored cross-site scripting vulnerability in the parseHeaders function of src/subParsers/makehtml/tables.js that fails to properly escape table header ID attributes. Attackers can inject arbitrary HTML and script-executing SVG elements through double-quote characters in markdown table headers, achieving stored XSS when untrusted markdown is rendered with the default github flavor configuration.
📍 영향받는 시스템
showdown library (GitHub flavor 설정 사용 시)
⚔️ 공격 벡터
마크다운 테이블 헤더 내에 큰따옴표를 포함한 악성 HTML/SVG 태그 삽입
🛡️ 대응 방법
showdown 라이브러리를 최신 보안 패치 버전으로 업데이트하거나 입력값에 대한 이스케이프 처리를 강화해야 합니다.
🔧 검증 코드
출력된 결과에서 현재 설치된 showdown의 버전을 확인하여 취약한 버전인지 대조합니다.