Code injection in koxudaxi datamodel-code-generator
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-1336.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| koxudaxi | datamodel-code-generator | 0.14.1 to before 0.60.2 | 0.60.2 | Patch available | CNA |
| — | datamodel-code-generator (PyPI) | 0.14.1 to before 0.60.2 | 0.60.2 | Patch available | GHSA-wjv6-jcfj-mf9r |
- datamodel-code-generator Vendorkoxudaxi Affected 0.14.1 to before 0.60.2 Fixed in 0.60.2 Patch available CNA
- datamodel-code-generator (PyPI) Vendor— Affected 0.14.1 to before 0.60.2 Fixed in 0.60.2 Patch available GHSA-wjv6-jcfj-mf9r
Remediation
- Fix · CNA datamodel-code-generator (koxudaxi) Fixed in 0.60.2
- Fix · GHSA-wjv6-jcfj-mf9r datamodel-code-generator (PyPI) Fixed in 0.60.2 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-54654
- 2026-10-03 Alias added: GHSA-wjv6-jcfj-mf9r
References
Other 4
- https://github.com/koxudaxi/datamodel-code-generator/security/advisories/GHSA-wjv6-jcfj-mf9r
- https://github.com/koxudaxi/datamodel-code-generator/commit/b73abb5cd703a50471b8950bbd3bd0b82ad71de7
- https://github.com/koxudaxi/datamodel-code-generator/releases/tag/0.60.2
- https://github.com/koxudaxi/datamodel-code-generator
More koxudaxi vulnerabilities
- TI-2026-84481 Code injection in fastapi-code-generator via OpenAPI route paths CVSS 4.0CRITICAL 9.3
- TI-2026-84480 Code injection in fastapi-code-generator route docstrings CVSS 4.0CRITICAL 9.3
- TI-2026-39961 Arbitrary local file read via XSD `schemaLocation` (`xs:include`/`xs:import`) path traversal, with no remote-ref gate CVSS 3.1HIGH 7.5
- TI-2026-39960 Information disclosure in koxudaxi datamodel-code-generator CVSS 3.1HIGH 7.5
- TI-2026-39512 datamodel-code-generator vulnerable to SSRF via --url: no host/IP validation, follows redirects CVSS 3.1HIGH 8.2
- TI-2026-39511 datamodel-code-generator vulnerable to SSRF via JSON-Schema `$ref` to HTTP URL (silent by default) CVSS 3.1HIGH 8.2
Sources
- CVE-2026-54654 · CVE Program
- CVE-2026-54654 · NVD
- FIRST EPSS
- GHSA-wjv6-jcfj-mf9r · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences