Code injection in dataclasses-avroschema through Meta.schema_name
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-94.
Summary
The dataclasses-avroschema package from 0.62.3 before 0.70.6 is affected. Its ClassRepresentation.render_metaclass inserts a schema-controlled Avro record name into the quoted Meta.schema_name field of generated Python source without escaping it (CWE-94). An unauthenticated remote attacker who supplies a crafted name can inject statements that run when the generated module is imported, and user interaction is required.
Written with Claude Haiku 5.5 from the sources below · 2026-10-27
Description from the CNA
dataclasses-avroschema generates Avro schemas from Python dataclasses, Pydantic models, and Faust Records and generates Python code from Avro schemas. From version 0.62.3 through 0.70.5, ClassRepresentation.render_metaclass inserts a schema-controlled Avro record name into the quoted Meta.schema_name field of generated Python source without escaping it. A crafted name can terminate the string literal and inject statements into the generated class body, which execute when the generated module is imported. Version 0.70.6 fixes the vulnerability by escaping schema values rendered into generated string literals.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| marcosschroh | dataclasses-avroschema | 0.62.3 to before 0.70.6 | 0.70.6 | Patch available | CNA |
- dataclasses-avroschema Vendormarcosschroh Affected 0.62.3 to before 0.70.6 Fixed in 0.70.6 Patch available CNA
Remediation
Upgrade dataclasses-avroschema to version 0.70.6, which escapes schema values rendered into generated string literals.
Written with Claude Haiku 5.5 from the sources below · 2026-10-27
- Fix · CNA dataclasses-avroschema (marcosschroh) Fixed in 0.70.6
Timeline
- 2026-10-13 Threatist record created from CVE-2026-108377
References
Other 4
- https://github.com/marcosschroh/dataclasses-avroschema/security/advisories/GHSA-57hr-pcm8-p9j9
- https://github.com/marcosschroh/dataclasses-avroschema/commit/429f3d705d2d04c0c65e2ef832daed5ff91318fc
- https://github.com/marcosschroh/dataclasses-avroschema/commit/919d3e07c8938369cfc2c0569007ba373247e74a
- https://github.com/marcosschroh/dataclasses-avroschema/releases/tag/0.70.6
More marcosschroh vulnerabilities
- TI-2026-71971 Code injection in dataclasses-avroschema enum generation CVSS 3.1HIGH 8.8
- TI-2026-71968 Code injection in dataclasses-avroschema through enum symbol literals CVSS 3.1HIGH 8.8
- TI-2026-71967 Code injection in dataclasses-avroschema Pydantic model generation CVSS 3.1HIGH 8.8
- TI-2026-71966 Code injection in dataclasses-avroschema Pydantic field documentation CVSS 3.1HIGH 8.8
- TI-2026-71964 Code injection in dataclasses-avroschema generated class docstrings CVSS 3.1HIGH 8.8
- TI-2026-71962 Code injection in dataclasses-avroschema via Avro record names CVSS 3.1HIGH 8.8
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences