dataclasses-avroschema fixed namespaces allow code injection in generated annotations
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_fixed inserts a fixed type's namespace value between quotes inside a generated types.confixed annotation without escaping or validating it. A crafted quote can terminate the namespace string and alter the surrounding annotation expression, which Python evaluates when the generated class is defined, allowing arbitrary code execution. Version 0.70.6 fixes the vulnerability by requiring the namespace to be a dot-separated sequence of valid Avro names.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-108379
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 19:30 UTC · Revision 1
Source evidence
dataclasses-avroschema fixed namespaces allow code injection in generated annotations
core-osv · Original sourcePublished 13 Oct 2026, 17:40 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, BaseGenerator.parse_fixed inserts a fixed type's namespace value between quotes inside a generated types.confixed annotation without escaping or validating it. A crafted quote can terminate the namespace string and alter the surrounding annotation expression, which Python evaluates when the generated class is defined, allowing arbitrary code execution. Version 0.70.6 fixes the vulnerability by requiring the namespace to be a dot-separated sequence of valid Avro names.
osv:CVE-2026-108379
Complete source record
{
"id": "54f4da8573b4185394b4dbf0f1c92563398e4c544537b553bf06247666af9264",
"url": "https://osv.dev/vulnerability/CVE-2026-108379",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "dataclasses-avroschema fixed namespaces allow code injection in generated annotations",
"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, BaseGenerator.parse_fixed inserts a fixed type's namespace value between quotes inside a generated types.confixed annotation without escaping or validating it. A crafted quote can terminate the namespace string and alter the surrounding annotation expression, which Python evaluates when the generated class is defined, allowing arbitrary code execution. Version 0.70.6 fixes the vulnerability by requiring the namespace to be a dot-separated sequence of valid Avro names.",
"evidence": "osv:CVE-2026-108379",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-108379",
"aliases": [
"CVE-2026-108379",
"GHSA-h9q3-f96w-f88j"
],
"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-108379.json"
}
}
],
"modified": "2026-10-28T02:30:22.617029448Z",
"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-108379.json",
"https://github.com/marcosschroh/dataclasses-avroschema/security/advisories/GHSA-h9q3-f96w-f88j",
"https://nvd.nist.gov/vuln/detail/CVE-2026-108379",
"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-108379.json"
}
},
"related_cves": [
{
"value": "CVE-2026-108379",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 489194,
"published_at": "2026-10-13T17:40:21.984+00:00"
}