🔍 CVE-2026-54653

8.8
CVSS Score
HIGH
2026-07-28
2026-10-23 23:10
✅ 완료

🇰🇷 한글 설명

datamodel-code-generator 0.17.0부터 0.60.2 버전 사이에서 JSON Schema를 처리할 때 공격자가 제어하는 default_factory 값을 그대로 유지하는 취약점이 발견되었습니다. 이로 인해 생성된 모델을 임포트할 때 임의의 파이썬 코드가 실행될 수 있습니다.

💡 쉬운 설명

데이터 형식을 자동으로 만들어주는 프로그램이 나쁜 의도로 작성된 코드를 포함한 데이터를 읽으면, 프로그램이 실행될 때 해커의 명령어가 몰래 실행될 수 있습니다. 생성된 파일을 불러오기만 해도 컴퓨터가 해킹당할 위험이 있습니다.

🇺🇸 원문 (English)

datamodel-code-generator generates Pydantic v2 models, dataclasses, TypedDict, and msgspec.Struct from OpenAPI, JSON Schema, GraphQL, Avro, Protobuf, and raw JSON, YAML, or CSV. From 0.17.0 until 0.60.2, datamodel-code-generator preserves attacker-controlled default_factory values in src/datamodel_code_generator/parser/jsonschema.py through JsonSchemaObject.init and get_field_extras and emits them into Field(default_factory=...) or field(default_factory=...), allowing Python expression execution when the generated model is imported. This issue is fixed in version 0.60.2.

📍 영향받는 시스템

datamodel-code-generator version 0.17.0 ~ 0.60.2

⚔️ 공격 벡터

악의적으로 조작된 JSON Schema를 사용하여 생성된 파이썬 모델 파일을 임포트할 때 발생

🛡️ 대응 방법

datamodel-code-generator를 0.60.2 이상의 최신 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 0.60.2 미만이면 취약한 상태이며, 0.60.2 이상이면 안전합니다.

Shell / Script
pip show datamodel-code-generator | grep Version

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Python