🔍 CVE-2026-41205

7.5
CVSS Score
HIGH
2026-04-23
2026-10-26 21:10
✅ 완료

🇰🇷 한글 설명

Mako 템플릿 라이브러리 1.3.11 이전 버전의 TemplateLookup.get_template()에서 슬래시 제거 로직의 불일치로 인해 경로 traversal 취약점이 발생합니다. //(예: //../../../secret.txt) 형태의 URI를 통해 프로세스가 읽을 수 있는 임의의 파일을 템플릿으로 반환받아 실행할 수 있습니다.

💡 쉬운 설명

Mako 템플릿 라이브러리가 특정 경로(//../../../secret.txt 같은 형태)를 제대로 검증하지 못해, 공격자가 서버의 모든 파일에 접근할 수 있게 되는 문제입니다. 신뢰할 수 없는 입력이 이 함수에 전달되면 비밀 파일을 읽고 실행할 수 있습니다.

🇺🇸 원문 (English)

Mako is a template library written in Python. Prior to 1.3.11, TemplateLookup.get_template() is vulnerable to path traversal when a URI starts with // (e.g., //../../../secret.txt). The root cause is an inconsistency between two slash-stripping implementations. Any file readable by the process can be returned as rendered template content when an application passes untrusted input directly to TemplateLookup.get_template(). This vulnerability is fixed in 1.3.11.

📍 영향받는 시스템

Mako 템플릿 라이브러리 버전 1.3.10 이하 (1.3.11부터 수정됨)

⚔️ 공격 벡터

사용자 입력을 TemplateLookup.get_template()에 직접 전달할 때, /로 시작하는 이중 슬래시와 상대 경로(..)를 조합하여 임의 파일 접근

🛡️ 대응 방법

Mako를 1.3.11 이상으로 업그레이드하기 (pip install --upgrade Mako)

🔧 검증 코드

1.3.11 이상의 버전이 출력되면 안전, 1.3.10 이하이거나 출력이 없으면 취약

Shell / Script
python3 -c "import mako; print(mako.__version__)" 2>/dev/null | grep -E '^1\.(3\.(1[1-9]|[2-9][0-9])|[4-9])'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Python