{"id":"CVE-2026-107377","title":"datamodel-code-generator generates Python data models from schema definitions","summary":"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…","severity":"high","cvss":7.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","cwe":["CWE-22","CWE-73"],"vendor":"datamodel-code-generator","product":"datamodel-code-generator","affected":["datamodel-code-generator >= 0.59.0, <= 0.80.0"],"patched":["datamodel-code-generator 0.81.0"],"published":"2026-10-08","updated":"2026-10-08","sourceUpdated":"2026-10-08T18:17:23.367","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-107377","references":[{"url":"https://github.com/datamodel-code-generator/datamodel-code-generator/commit/5e94b8f4203198798ec66b8e48217f70af69a0dc","label":"security-advisories@github.com"},{"url":"https://github.com/datamodel-code-generator/datamodel-code-generator/releases/tag/0.81.0","label":"security-advisories@github.com"},{"url":"https://github.com/datamodel-code-generator/datamodel-code-generator/security/advisories/GHSA-77xj-x4rm-935c","label":"security-advisories@github.com"},{"url":"https://github.com/advisories/GHSA-77xj-x4rm-935c"}],"tags":["nvd","ghsa","pip","cve.org"],"aliases":["GHSA-77xj-x4rm-935c"],"ecosystem":"pip","ingestedAt":"2026-10-08T18:58:11.312Z","slug":"CVE-2026-107377","body":"## Overview\n\ndatamodel-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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-107377)\n\nAffected packages:\n\n- `datamodel-code-generator >= 0.59.0, <= 0.80.0`\n\nPatched in:\n\n- `datamodel-code-generator 0.81.0`\n\nSource: https://github.com/advisories/GHSA-77xj-x4rm-935c","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":41.3,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}