Skip to content
OpenAdvisories
High · 8.8 CVE-2026-54653 EUVD-2026-50077GHSA-386q-5hp3-95m9PYSEC-2026-3555

`datamodel-code-generator` vulnerable to code injection in via attacker-controlled `default_factory` schema field

Published Jul 28, 2026 · Updated Jul 29, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
koxudaxi datamodel-code-generator >= 0.17.0, < 0.60.2 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI datamodel-code-generator >= 0.17.0, < 0.60.2 0.60.2 GHSA-386q-5hp3-95m9

References