CVE-2026-108383
8.8 HIGHpublic exploit availablePublished 2026-10-13 · Updated 2026-10-16
AI risk analysis
- Summary
- The vulnerability allows attackers to inject malicious code into generated Python modules by manipulating enum field defaults in Avro schema generation. This occurs when case conversion doesn't validate enum references as proper identifiers, enabling injection of arbitrary statements that can modify namespaces or prevent module loading.
- Exploitability
- Exploitation requires a vulnerable version (0.38.0-0.70.5) and control over dataclass field definitions that use enum defaults, with minimal preconditions for successful injection.
- Blast radius
- The vulnerability could affect any application using dataclasses-avroschema to generate Python code from Avro schemas, potentially leading to remote code execution or module loading failures in applications that import the generated code.
- Detection
- No reliable host or network indicator is derivable from the published description.
- Prioritized remediation
- Upgrade to version 0.70.6 or later to fix the enum default validation issue.
Analysis generated locally by garnet-coder (no data left the box). AI-assisted — verify against primary sources before acting.
NVD 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, FieldRepresentation.get_field_default renders a schema-controlled enum field default as an enum member reference after applying case conversion but without validating it as an identifier. Newlines, operators, and punctuation can escape the intended reference and inject constrained statements into the generated module, allowing namespace modification or preventing the module from loading. Version 0.70.6 fixes the vulnerability by validating enum defaults as names.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Weaknesses
CWE-94
Public exploit & PoC references
- https://github.com/marcosschroh/dataclasses-avroschema/commit/429f3d705d2d04c0c65e2ef832daed5ff91318fc
- https://github.com/marcosschroh/dataclasses-avroschema/releases/tag/0.70.6
- https://github.com/marcosschroh/dataclasses-avroschema/security/advisories/GHSA-4xxf-mv22-hcr8
- https://github.com/marcosschroh/dataclasses-avroschema/security/advisories/GHSA-4xxf-mv22-hcr8
All references
- https://github.com/marcosschroh/dataclasses-avroschema/commit/429f3d705d2d04c0c65e2ef832daed5ff91318fc
- https://github.com/marcosschroh/dataclasses-avroschema/releases/tag/0.70.6
- https://github.com/marcosschroh/dataclasses-avroschema/security/advisories/GHSA-4xxf-mv22-hcr8
- https://github.com/marcosschroh/dataclasses-avroschema/security/advisories/GHSA-4xxf-mv22-hcr8
Source data: NVD (nvd.nist.gov), public domain. Exploit-DB.ai adds local AI analysis for defensive use only.
Related CVEs
- HIGHCVE-2026-108375PoC
- HIGHCVE-2026-108381PoC
- CRITICALCVE-2026-105135PoC
- HIGHCVE-2026-108376PoC
- HIGHCVE-2026-108377PoC
- HIGHCVE-2026-108378PoC
- HIGHCVE-2026-108380PoC
- HIGHCVE-2026-108382PoC
Related by shared AI tags and CWE weakness class. Browse the full archive.