Skip to content
Heist/ feed
Back to feed
High

dataclasses-avroschema fixed namespaces allow code injection in generated annotations

Type: advisorySources: OSV

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 source

Published 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"
}