« Volver al listado

CVE-2026-107377

Estado: AplazadaAlta (7.5)—

datamodel-code-generator genera modelos de datos Python a partir de definiciones de esquemas. Desde la 0.59.0 hasta la 0.81.0, un esquema Protobuf controlado por el atacante puede proporcionar rutas absolutas o de directorio padre capturadas por WEAK_IMPORT_PATTERN y consumidas por _write_missing_weak_imports en src/datamodel_code_generator/parser/protobuf.py. La explotación requiere que una víctima o un trabajo automatizado procese el esquema controlado por el atacante con la compatibilidad con entrada Protobuf, que requiere el paquete grpcio-tools.

Leer descripción completaMostrar menos

Las rutas escapan del directorio temporal weak_imports antes de que se ejecute protoc, lo que permite crear árboles de directorios y archivos nuevos o sobrescribir archivos existentes con permisos de escritura con una declaración de sintaxis Protobuf generada. El efecto persiste aunque la compilación posterior de Protobuf falle. El contenido escrito se limita a una declaración de sintaxis proto2 o proto3, y no se ha demostrado la ejecución directa de código arbitrario. Este problema está corregido en la versión 0.81.0.

Traducción automática del texto original de NVD (en inglés).

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

🎯 Técnicas ATT&CK

Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.

Esquema Protobuf malicioso procesado remotamente escapa del directorio temporal y sobrescribe archivos; limitado a declaraciones de sintaxis proto sin RCE demostrado.

Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.

🛡️ Mitigaciones ATT&CK que cubren estas técnicas

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-107377",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-107377",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-10-14T01:09:12.768367Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 7.5,
          "attackVector": "NETWORK",
          "baseSeverity": "HIGH",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "NONE",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 3.9
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "datamodel-code-generator",
          "product": "datamodel-code-generator",
          "versions": [
            {
              "status": "affected",
              "version": ">= 0.59.0, < 0.81.0"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-08T18:17:22.973",
  "references": [
    {
      "url": "https://github.com/datamodel-code-generator/datamodel-code-generator/commit/5e94b8f4203198798ec66b8e48217f70af69a0dc",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/datamodel-code-generator/datamodel-code-generator/releases/tag/0.81.0",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/datamodel-code-generator/datamodel-code-generator/security/advisories/GHSA-77xj-x4rm-935c",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/datamodel-code-generator/datamodel-code-generator/security/advisories/GHSA-77xj-x4rm-935c",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-22"
        },
        {
          "lang": "en",
          "value": "CWE-73"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "datamodel-code-generator generates Python data models from schema definitions. From 0.59.0 until 0.81.0, an attacker-controlled Protobuf schema can supply absolute or parent-directory paths captured by WEAK_IMPORT_PATTERN and consumed by _write_missing_weak_imports in src/datamodel_code_generator/parser/protobuf.py. Exploitation requires a victim or automated job to process the attacker-controlled schema with Protobuf input support, which requires the grpcio-tools package. The paths escape the weak_imports temporary directory before protoc runs, allowing creation of directory trees and new files or overwrite of existing writable files with a generated Protobuf syntax declaration. The effect persists when later Protobuf compilation fails. The written content is limited to a proto2 or proto3 syntax declaration, and direct arbitrary code execution has not been demonstrated. This issue is fixed in version 0.81.0."
    }
  ],
  "lastModified": "2026-10-14T02:16:56.650",
  "sourceIdentifier": "security-advisories@github.com"
}