dataclasses-avroschema enum field defaults can inject statements into generated modules
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
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.
Text from CVE List
Affected versions 1
- dataclasses-avroschemaaffected: >= 0.38.0, < 0.70.6CVE List