dataclasses-avroschema allows code injection through generated enum-symbol string literals
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, EnumRepresentation.render_symbols concatenates each schema-controlled enum symbol between double quotes in a generated enum assignment. When generator classes are used directly, a quote can terminate the string literal and inject arbitrary Python code into the enum class body, which executes when the generated module is imported. Version 0.70.6 fixes the vulnerability by escaping enum symbol values before rendering them.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-108382
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 18:14 UTC · Revision 1
Source evidence
dataclasses-avroschema allows code injection through generated enum-symbol string literals
core-osv · Original sourcePublished 13 Oct 2026, 17:44 UTC
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, EnumRepresentation.render_symbols concatenates each schema-controlled enum symbol between double quotes in a generated enum assignment. When generator classes are used directly, a quote can terminate the string literal and inject arbitrary Python code into the enum class body, which executes when the generated module is imported. Version 0.70.6 fixes the vulnerability by escaping enum symbol values before rendering them.
osv:CVE-2026-108382
Complete source record
{
"id": "9df7641f4e2321f1f20162e947c2d3634799ca7ea249ceb4ad83a1af02375c3d",
"url": "https://osv.dev/vulnerability/CVE-2026-108382",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "dataclasses-avroschema allows code injection through generated enum-symbol string literals",
"summary": "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, EnumRepresentation.render_symbols concatenates each schema-controlled enum symbol between double quotes in a generated enum assignment. When generator classes are used directly, a quote can terminate the string literal and inject arbitrary Python code into the enum class body, which executes when the generated module is imported. Version 0.70.6 fixes the vulnerability by escaping enum symbol values before rendering them.",
"evidence": "osv:CVE-2026-108382",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-108382",
"aliases": [
"CVE-2026-108382",
"GHSA-vrq9-94ww-jv3c"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/marcosschroh/dataclasses-avroschema",
"type": "GIT",
"events": [
{
"introduced": "3024363f89b8799aacd15cd0bffcaa52c6972387"
},
{
"fixed": "de45de04f080e829c787a4b22eff92e5e632eaa1"
},
{
"fixed": "429f3d705d2d04c0c65e2ef832daed5ff91318fc"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0.38.0"
},
{
"fixed": "0.70.6"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "429f3d705d2d04c0c65e2ef832daed5ff91318fc"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "de45de04f080e829c787a4b22eff92e5e632eaa1"
}
],
"source": "REFERENCES_TAG",
"original_tag": "0.70.6"
}
]
}
}
],
"versions": [
"0.70.5",
"0.70.4",
"0.70.3",
"0.70.2",
"0.70.1",
"0.70.0",
"0.69.1",
"0.69.0",
"0.68.1",
"0.68.0",
"0.67.0",
"0.66.4",
"0.66.3",
"0.66.2",
"0.66.1",
"0.66.0",
"0.65.14",
"0.65.13",
"0.65.12",
"0.65.11",
"0.65.10",
"0.65.9",
"0.65.8",
"0.65.7",
"0.65.6",
"0.65.5",
"0.65.4",
"0.65.3",
"0.65.2",
"0.65.1",
"0.65.0",
"0.64.2",
"0.64.1",
"0.64.0",
"0.63.10",
"0.63.9",
"0.63.8",
"0.63.7",
"0.63.6",
"0.63.5",
"0.63.4",
"0.63.3",
"0.63.2",
"0.63.1",
"0.63.0",
"0.62.11",
"0.62.10",
"0.62.9",
"0.62.8",
"0.62.7",
"0.62.6",
"0.62.5",
"0.62.4",
"0.62.3",
"0.62.2",
"0.62.1",
"0.62.0",
"0.61.0",
"0.60.2",
"0.60.1",
"0.60.0",
"0.59.1",
"0.59.0",
"0.58.2",
"0.58.1",
"0.58.0",
"0.57.5",
"0.57.4",
"0.57.3",
"0.57.2",
"0.57.1",
"0.57.0",
"0.56.2",
"0.56.1",
"0.56.0",
"0.55.1",
"0.55.0",
"0.54.2",
"0.54.1",
"0.54.0",
"0.53.1",
"0.53.0",
"0.52.1",
"0.52.0",
"0.51.0",
"0.50.2",
"0.50.1",
"0.50.0",
"0.49.0",
"0.48.1",
"0.48.0",
"0.47.3",
"0.47.2",
"0.47.1",
"0.47.0",
"0.46.3",
"0.46.2",
"0.46.1",
"0.46.0",
"0.45.1",
"0.45.0",
"0.44.0",
"0.43.10",
"0.43.9",
"0.43.8",
"0.43.7",
"0.43.6",
"0.43.5",
"0.43.4",
"0.43.3",
"0.43.2",
"0.43.1",
"0.43.0",
"0.42.2",
"0.42.1",
"0.42.0",
"0.41.2",
"0.41.1",
"0.41.0",
"0.40.0",
"0.39.3",
"0.39.2",
"0.39.1",
"0.39.0",
"0.38.1",
"0.38.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-108382.json"
}
}
],
"modified": "2026-10-28T02:30:31.298707454Z",
"provider": "osv",
"references": [
"https://github.com/marcosschroh/dataclasses-avroschema/releases/tag/0.70.6",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/108xxx/CVE-2026-108382.json",
"https://github.com/marcosschroh/dataclasses-avroschema/security/advisories/GHSA-vrq9-94ww-jv3c",
"https://nvd.nist.gov/vuln/detail/CVE-2026-108382",
"https://github.com/marcosschroh/dataclasses-avroschema/commit/429f3d705d2d04c0c65e2ef832daed5ff91318fc"
],
"provider_metadata": {
"cwe_ids": [
"CWE-94"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/108xxx/CVE-2026-108382.json"
}
},
"related_cves": [
{
"value": "CVE-2026-108382",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 498328,
"published_at": "2026-10-13T17:44:36.222+00:00"
}