Vulnerability · Published Oct 13, 2026 · Assigned by GitHub_M
CVE-2026-108378dataclasses-avroschema record documentation can terminate generated class docstrings
High 8.8
In plain English
A high-severity code injection in dataclasses-avroschema from marcosschroh. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 28% 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.40.0 through 0.70.5, ClassRepresentation.render_docstring copies a schema record's doc value into a generated triple-double-quoted class docstring without escaping quotes or backslashes. A crafted triple-quote sequence can close the docstring and inject statements into the generated class body, while a trailing backslash can escape the generated closing delimiter, allowing Python code execution during module import. Version 0.70.6 fixes the vulnerability by escaping quotes, backslashes, and unsafe control characters before rendering docstrings.
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| marcosschroh | dataclasses-avroschema | >= 0.40.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-ff3j-hw44-6vx4 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