dataclasses-avroschema fixed namespaces allow code injection in generated annotations
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, BaseGenerator.parse_fixed inserts a fixed type's namespace value between quotes inside a generated types.confixed annotation without escaping or validating it. A crafted quote can terminate the namespace string and alter the surrounding annotation expression, which Python evaluates when the generated class is defined, allowing arbitrary code execution. Version 0.70.6 fixes the vulnerability by requiring the namespace to be a dot-separated sequence of valid Avro names.
Text from CVE List
Affected versions 1
- dataclasses-avroschemaaffected: >= 0.38.0, < 0.70.6CVE List