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, BaseGenerator.parse_enum and EnumRepresentation.render_symbols use each schema-controlled enum symbol as a generated enum member name after case conversion but without validating it as an identifier. When generator classes are used directly, newlines and punctuation can inject constrained statements into the generated enum class body, allowing namespace modification or preventing the module from loading. Version 0.70.6 fixes the vulnerability by validating every enum symbol as a name.
Published: 2026-10-13
Score: 8.8 High
EPSS: n/a
KEV: No
Impact: Execution of arbitrary code
Action: Immediate Patch
AI Analysis

Impact

dataclasses-avroschema 0.38.0-0.70.5 builds Python enums from Avro schema symbols without validating them as identifiers. An attacker who can supply a crafted enum symbol can inject newlines or punctuation that becomes executable statements within the generated enum class body. This can alter the namespace or cause the generated module to fail to load, effectively enabling the attacker to run arbitrary code while the module is imported or compiled. The vulnerability is a classic code‑injection flaw (CWE‑94).

Affected Systems

The Python library dataclasses-avroschema, version 0.38.0 through 0.70.5, is impacted. Vendors and users of this library that generate Python code from Avro schemas need to be aware of the affected range.

Risk and Exploitability

The CVSS score of 8.8 indicates a high severity. No EPSS data is available, and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires that the attacker can supply or influence the Avro schema used by BaseGenerator.parse_enum or EnumRepresentation.render_symbols. If the code generation is performed in a trusted environment, an attacker can trigger code execution at import time or cause a module load failure. The attack surface is local to the environment where the library runs; remote exploitation would need additional privileges to supply schema data. Given the high CVSS, the risk to systems that use this library without updated validation is significant.

Generated by OpenCVE AI on October 13, 2026 at 19:54 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade dataclasses-avroschema to version 0.70.6 or later so that enum symbols are validated as proper identifiers.
  • If an upgrade is not immediately possible, sanitize all enum symbols before passing them to the generator: trim whitespace, remove newlines, ensure the string matches a valid Python identifier pattern.
  • For production environments that generate code from untrusted schemas, perform the generation step in a separate, isolated process or container with minimal privileges, and never import the generated code directly without validating its content.

Generated by OpenCVE AI on October 13, 2026 at 19:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 13 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 13 Oct 2026 18:15:00 +0000

Type Values Removed Values Added
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, BaseGenerator.parse_enum and EnumRepresentation.render_symbols use each schema-controlled enum symbol as a generated enum member name after case conversion but without validating it as an identifier. When generator classes are used directly, newlines and punctuation can inject constrained statements into the generated enum class body, allowing namespace modification or preventing the module from loading. Version 0.70.6 fixes the vulnerability by validating every enum symbol as a name.
Title dataclasses-avroschema enum symbols can inject statements through generated member names
Weaknesses CWE-94
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-13T18:15:58.645Z

Reserved: 2026-10-09T21:36:27.043Z

Link: CVE-2026-108385

cve-icon Vulnrichment

Updated: 2026-10-13T18:15:46.007Z

cve-icon NVD

Status : Received

Published: 2026-10-13T18:17:17.893

Modified: 2026-10-13T19:18:04.687

Link: CVE-2026-108385

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-13T20:00:16Z

Weaknesses
  • CWE-94

    Improper Control of Generation of Code ('Code Injection')