# CVE-2026-108376: dataclasses-avroschema code injection in generated model defaults

Source: https://junglewise.ai/threats/cve-2026-108376-dataclasses-avroschema-generates-avro-schemas-from-python  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-13. Updated: 2026-10-16  
License: CC BY 4.0 with a link back

CVE-2026-108376 · Severity: high · CVSS 8.8 · Published 2026-10-13

dataclasses-avroschema is a Python library that automatically generates data models and schemas from Avro specifications. Versions 0.47.3 through 0.70.5 allow arbitrary Python code to execute when a crafted Avro schema is used to generate a model, via an unvalidated record name in a default factory. An attacker who controls a schema registry or network traffic could inject malicious code that runs when a model is instantiated.

Technologies: [Dataclasses-Avroschema](https://junglewise.ai/threats/technologies/dataclasses-avroschema). Vendors: [Dataclasses-Avroschema](https://junglewise.ai/threats/vendors/dataclasses-avroschema).

## Quick answers

**Is CVE-2026-108376 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-108376 being exploited in the wild.

**How severe is CVE-2026-108376?** High severity, with a CVSS score of 8.8, published 13 October 2026.

**Which products and versions are affected?** Dataclasses-Avroschema 0.47.3 through 0.70.5.

**Is there a fix for CVE-2026-108376?** Yes: fixed in 0.70.6. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-108376 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-108376?** Check whether you run Dataclasses-Avroschema at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 0.70.6

## Technical details

The vulnerability exists in FieldRepresentation.get_field_default, which inserts a schema-controlled record name directly into the callable position of a generated `default_factory` lambda without validating it as a valid Avro name. A crafted record name can become an arbitrary Python expression that executes during model instantiation. The fix in version 0.70.6 validates record names against the Avro name grammar ([A-Za-z_][A-Za-z0-9_]*), rejecting any that do not conform.

## Affected products

- dataclasses-avroschema dataclasses-avroschema 0.47.3 through 0.70.5

## Timeline

- 2026-10-13: disclosed
- 2026-08-18: patched

## References

- [https://github.com/marcosschroh/dataclasses-avroschema/commit/429f3d705d2d04c0c65e2ef832daed5ff91318fc](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/releases/tag/0.70.6)

## Related threats

- [dataclasses-avroschema code injection in enum generation](https://junglewise.ai/threats/cve-2026-108385-dataclasses-avroschema-generates-avro-schemas-from-python)
- [dataclasses-avroschema code injection in field documentation](https://junglewise.ai/threats/cve-2026-108380-dataclasses-avroschema-generates-avro-schemas-from-python)
- [dataclasses-avroschema code injection in generated Python code](https://junglewise.ai/threats/cve-2026-108377-dataclasses-avroschema-generates-avro-schemas-from-python)
- [dataclasses-avroschema code injection in generated Python modules](https://junglewise.ai/threats/cve-2026-108375-dataclasses-avroschema-generates-avro-schemas-from-python)
