Vulnerability · Published Oct 13, 2026 · Assigned by GitHub_M
CVE-2026-108383dataclasses-avroschema enum field defaults can inject statements into generated modules
High 8.8
In plain English
A high-severity code injection in dataclasses-avroschema from marcosschroh. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 21% of all known vulnerabilities).
Official description
dataclasses-avroschema generates Avro schemas from Python dataclasses, Pydantic models, and Faust Records and generates Python code from Avro schemas. From version 0.38.0 through 0.70.5, FieldRepresentation.get_field_default renders a schema-controlled enum field default as an enum member reference after applying case conversion but without validating it as an identifier. Newlines, operators, and punctuation can escape the intended reference and inject constrained statements into the generated module, allowing namespace modification or preventing the module from loading. Version 0.70.6 fixes the vulnerability by validating enum defaults as names.
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| marcosschroh | dataclasses-avroschema | >= 0.38.0, < 0.70.6 |
Weakness: CWE-94 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
References
- https://github.com/marcosschroh/dataclasses-avroschema/security/advisories/GHSA-4xxf-mv22-hcr8 x_refsource_CONFIRM
- https://github.com/marcosschroh/dataclasses-avroschema/commit/429f3d705d2d04c0c65e2ef832daed5ff91318fc x_refsource_MISC
- https://github.com/marcosschroh/dataclasses-avroschema/releases/tag/0.70.6 x_refsource_MISC