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

High 8.8 Published Updated

Attackers can execute arbitrary Python code by injecting malicious expressions into the default_factory field of generated models.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-54653?

CVE-2026-54653 is a high-severity code injection vulnerability in koxudaxi datamodel-code-generator, published on 28 Jul 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official 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.

Weakness: CWE-94, CWE-1336

Which versions are affected by CVE-2026-54653?

3 open source packages ship an affected version, including datamodel-code-generator. It affects 1 product.

PackageAffectedFixed in
datamodel-code-generator PyPIFrom 0.17.00.60.2
datamodel-code-generator PyPIFrom 0.17.00.60.2
datamodel-code-generator PyPIFrom 0.17.00.60.2

Products include Koxudaxi Datamodel-Code-Generator.

How do I fix CVE-2026-54653?

Upgrade datamodel-code-generator to 0.60.2 or later.

Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.

Is CVE-2026-54653 being exploited?

There is no known exploitation of CVE-2026-54653 in the wild and no public exploit code.

Sources

Also known as GHSA-386q-5hp3-95m9, MINI-qxgq-537q-pph4, PYSEC-2026-3555.

Is CVE-2026-54653 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free