dataclasses-avroschema field documentation allows code injection in generated Pydantic descriptions
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.65.9 through 0.70.5, PydanticFieldRepresentation.add_field_properties inserts a schema field's doc value between the quotes of a generated pydantic.Field description argument without escaping it. A crafted quote can terminate the string and inject an expression evaluated during generated class definition, allowing arbitrary Python code execution for Pydantic and AvroDantic model generation. Version 0.70.6 fixes the vulnerability by escaping the documentation value before rendering it.
Text from CVE List
Affected versions 1
- dataclasses-avroschemaaffected: >= 0.65.9, < 0.70.6CVE List
References 4
- github.com/marcosschroh/dataclasses-avroschema/commit/429f3d705d2d04c0c65e2ef832daed5ff91318fcFixvia CVE List
- github.com/marcosschroh/dataclasses-avroschema/releases/tag/0.70.6Fixvia CVE List
- github.com/marcosschroh/dataclasses-avroschema/security/advisories/GHSA-g7p7-mgvm-jw7pExploitvia CVE List
- github.com/marcosschroh/dataclasses-avroschema/pull/843Referencevia CVE List