CVE-2023-32309
임의 파일 포함 취약점 (pymdown-snippets 확장 프로그램)
- 게시됨
- 2023. 5. 15.
- 업데이트됨
- 2025. 1. 22.
- CNA 할당 중
- GitHub_M
- 증거 관찰됨
- 2026. 8. 8.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N낮음 · 다음 30일
- 백분위수
- 75.2%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
PyMdown Extensions는 `Python-Markdown` 마크다운 프로젝트를 위한 확장 모음입니다. 영향을 받는 버전에서는 include 파일 구문을 사용할 때 임의 파일 읽기가 가능합니다. `--8<--"/etc/passwd"` 또는 `--8<--"/proc/self/environ"` 구문을 사용하면 이러한 파일의 내용이 생성된 문서에 렌더링됩니다. 또한 지정된 허용 기본 경로에 대한 상대 경로를 사용하여 기본 경로 밖에 있는 파일의 내용을 렌더링할 수도 있습니다: `--8<-- "../../../../etc/passwd"`. Snippets 확장에는 `base_path` 옵션이 존재하지만, 해당 구현은 디렉터리 트래버설(Directory Traversal)에 취약합니다. 취약한 부분은 snippets.py의 `get_snippet_path(self, path)` 155~174행에 존재합니다. 플러그인이 실행 중인 호스트에서 읽을 수 있는 모든 파일의 내용이 노출될 수 있습니다. 이는 Snippets 사용을 외부 사용자에게 노출하는 모든 용도에 영향을 미칠 수 있습니다. 사용자 대상의 동적 콘텐츠를 처리하기 위해 Snippets를 사용하는 것은 절대 권장되지 않습니다. Snippets는 호스트의 통제 하에 백엔드에서 알려진 콘텐츠를 처리하도록 설계되었지만, 누군가 실수로 사용자 대상 콘텐츠에 이를 활성화할 경우 원치 않는 정보가 노출될 수 있습니다. 이 문제는 버전 10.0에서 해결되었습니다. 사용자는 업그레이드할 것을 권장합니다. 업그레이드할 수 없는 사용자는 입력을 필터링하여 상대 경로를 제한할 수 있습니다.
소스
1교육용 보안 연구 및 익스플로잇 분석을 위한 CVE-2023-32309 취약점의 최소 Docker 기반 데모입니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.