Read the docs
TI-2026-71964 Aliases CVE-2026-108378

Code injection in dataclasses-avroschema generated class docstrings

Priority HIGH 73CWE-94Published · Updated

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

dataclasses-avroschema from 0.40.0 before 0.70.6 is affected. ClassRepresentation.render_docstring copies a schema record's doc value into a generated class docstring without escaping quotes or backslashes (CWE-94). A remote attacker with no privileges can supply a crafted schema whose doc text closes the docstring and injects Python statements that run when the generated module is imported, after a user generates and imports that code.

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.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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00343 27th percentileScored 2026-11-07
Fix Fixed dataclasses-avroschema (marcosschroh): 0.70.6

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

VendorProductAffected versionsFixed inStatusSource
marcosschrohdataclasses-avroschema0.40.0 to before 0.70.60.70.6Patch availableCNA
  • dataclasses-avroschema Vendormarcosschroh Affected 0.40.0 to before 0.70.6 Fixed in 0.70.6 Patch available CNA

Remediation

Upgrade dataclasses-avroschema to version 0.70.6, which escapes quotes, backslashes and unsafe control characters before rendering docstrings.

Written with Claude Haiku 5.5 from the sources below · 2026-10-27

  • Fix · CNA dataclasses-avroschema (marcosschroh) Fixed in 0.70.6

Timeline

  1. 2026-10-13 Threatist record created from CVE-2026-108378
  2. 2026-10-14 CISA SSVC decision points changed
  3. 2026-10-14 Priority changed: MEDIUM → HIGH

References

  • 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-71963 Code injection in dataclasses-avroschema through Meta.schema_name CVSS 3.1HIGH 8.8
  • TI-2026-71962 Code injection in dataclasses-avroschema via Avro record names CVSS 3.1HIGH 8.8
See all 10 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences