datamodel-code-generator generates Python data models from schema definitions. From 0.14.1 until 0.60.2, the --extra-template-data comment field is rendered into Python comments in src/datamodel_code_generator/model/template/TypeAliasAnnotation.jinja2, src/datamodel_code_generator/model/template/TypedDict.jinja2, src/datamodel_code_generator/model/template/dataclass.jinja2, src/datamodel_code_generator/model/template/msgspec.Struct.jinja2, src/datamodel_code_generator/model/template/pydantic/BaseModel.jinja2, and src/datamodel_code_generator/model/template/pydantic_v2/BaseModel.jinja2 without neutralizing carriage returns in Python # comments, allowing an attacker-controlled comment value to inject Python code into generated models that runs when imported. This issue is fixed in version 0.60.2.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-1336",
"CWE-94"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54654.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0.14.1"
},
{
"fixed": "0.60.2"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "b73abb5cd703a50471b8950bbd3bd0b82ad71de7"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "0.60.2",
"range": [
{
"fixed": "e0ea4e45117acd41dcf6ae3a6639cc3f41b59045"
}
],
"source": "REFERENCES_TAG"
}
]
}