🇰🇷 한글 설명
Mako 0.3.4 이전 버전은 Python 표준 라이브러리의 cgi.escape 함수에만 의존하여 XSS 보호를 수행하는데, 이 함수의 불완전성으로 인해 작은따옴표 문자를 포함한 다양한 벡터로 크로스사이트 스크립팅 공격이 가능합니다. BODY 요소의 JavaScript onLoad 이벤트 핸들러를 통한 공격에 특히 취약합니다.
💡 쉬운 설명
Mako 템플릿 엔진의 보안 검증이 약해서 해커가 작은따옴표나 JavaScript 코드를 입력값에 숨겨 주입할 수 있습니다. 사용자의 브라우저에서 악성 코드가 실행되어 개인정보가 유출될 수 있습니다.
🇺🇸 원문 (English)
Mako before 0.3.4 relies on the cgi.escape function in the Python standard library for cross-site scripting (XSS) protection, which makes it easier for remote attackers to conduct XSS attacks via vectors involving single-quote characters and a JavaScript onLoad event handler for a BODY element.
📍 영향받는 시스템
Mako 0.3.4 이전 모든 버전
⚔️ 공격 벡터
작은따옴표(')를 이용한 필터 우회 또는 BODY 태그의 onLoad 속성으로 JavaScript 코드 주입
🛡️ 대응 방법
Mako를 0.3.4 이상으로 즉시 업그레이드
🔧 검증 코드
Version이 0.3.4 이상이면 안전하고, 그 이하이거나 설치되지 않았으면 업그레이드 필요합니다.
pip show mako 2>/dev/null | grep Version || echo 'Mako not installed'