Skip to content
Heist/ feed
Back to feed
High

dataclasses-avroschema record documentation can terminate generated class docstrings

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.40.0 through 0.70.5, ClassRepresentation.render_docstring copies a schema record's doc value into a generated triple-double-quoted class docstring without escaping quotes or backslashes. A crafted triple-quote sequence can close the docstring and inject statements into the generated class body, while a trailing backslash can escape the generated closing delimiter, allowing Python code execution during module import. Version 0.70.6 fixes the vulnerability by escaping quotes, backslashes, and unsafe control characters before rendering docstrings.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-108378
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 06:34 UTC · Revision 1

Source evidence

dataclasses-avroschema record documentation can terminate generated class docstrings

core-osv · Original source

Published 13 Oct 2026, 17:34 UTC

dataclasses-avroschema generates Avro schemas from Python dataclasses, Pydantic models, and Faust Records and generates Python code from Avro schemas. From version 0.40.0 through 0.70.5, ClassRepresentation.render_docstring copies a schema record's doc value into a generated triple-double-quoted class docstring without escaping quotes or backslashes. A crafted triple-quote sequence can close the docstring and inject statements into the generated class body, while a trailing backslash can escape the generated closing delimiter, allowing Python code execution during module import. Version 0.70.6 fixes the vulnerability by escaping quotes, backslashes, and unsafe control characters before rendering docstrings.

osv:CVE-2026-108378
Complete source record
{
  "id": "7a4e3c9741c9019f2b66eeca92f21058aad4b8ef2493da2d67bcef7a0055be82",
  "url": "https://osv.dev/vulnerability/CVE-2026-108378",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "dataclasses-avroschema record documentation can terminate generated class docstrings",
    "summary": "dataclasses-avroschema generates Avro schemas from Python dataclasses, Pydantic models, and Faust Records and generates Python code from Avro schemas. From version 0.40.0 through 0.70.5, ClassRepresentation.render_docstring copies a schema record's doc value into a generated triple-double-quoted class docstring without escaping quotes or backslashes. A crafted triple-quote sequence can close the docstring and inject statements into the generated class body, while a trailing backslash can escape the generated closing delimiter, allowing Python code execution during module import. Version 0.70.6 fixes the vulnerability by escaping quotes, backslashes, and unsafe control characters before rendering docstrings.",
    "evidence": "osv:CVE-2026-108378",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-108378",
      "aliases": [
        "CVE-2026-108378",
        "GHSA-ff3j-hw44-6vx4"
      ],
      "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": "1ee43d389eedbfc8c940903a0341267028707240"
                },
                {
                  "fixed": "de45de04f080e829c787a4b22eff92e5e632eaa1"
                },
                {
                  "fixed": "429f3d705d2d04c0c65e2ef832daed5ff91318fc"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0.40.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"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-108378.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:26.464344821Z",
      "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-108378.json",
        "https://github.com/marcosschroh/dataclasses-avroschema/security/advisories/GHSA-ff3j-hw44-6vx4",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-108378",
        "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-108378.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-108378",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 493090,
  "published_at": "2026-10-13T17:34:28.53+00:00"
}