🇰🇷 한글 설명
datamodel-code-generator 0.59.0부터 0.62.0 버전에서 XML 스키마 파싱 시 입력 경로 외부의 파일을 참조할 수 있는 취약점이 발견되었습니다. 공격자는 xs:include 등을 악용하여 시스템의 임의 로컬 파일을 읽고 이를 생성된 모델에 포함시킬 수 있습니다.
💡 쉬운 설명
프로그램이 설계도를 읽을 때, 설계도에 적힌 경로를 따라가서 컴퓨터 안에 있는 다른 중요한 파일들을 몰래 읽어올 수 있는 문제입니다. 이를 통해 해커가 시스템의 민감한 정보를 훔쳐볼 수 있습니다.
🇺🇸 원문 (English)
datamodel-code-generator generates Python data models from schema definitions. From 0.59.0 until 0.62.0, XML Schema parsing in src/datamodel_code_generator/parser/xmlschema.py for --input-file-type xmlschema resolves xs:include, xs:import, xs:redefine, and xs:override schemaLocation values outside the input base path, allowing arbitrary local files to be read and reflected into generated models. This issue is fixed in version 0.62.0.
📍 영향받는 시스템
datamodel-code-generator 0.59.0 ~ 0.62.0
⚔️ 공격 벡터
악의적으로 조작된 XML 스키마 파일을 입력하여 외부 경로의 파일을 참조하도록 유도
🛡️ 대응 방법
datamodel-code-generator를 0.62.0 이상의 버전으로 업데이트
🔧 검증 코드
출력된 버전이 0.62.0 미만이면 취약한 상태이며, 0.62.0 이상이면 안전합니다.
pip show datamodel-code-generator | grep Version