{"success":true,"data":{"threats":[{"id":"7fc66960-106c-44f8-966a-3bddd0e6ab67","slug":"cve-2026-107377","externalId":"CVE-2026-107377","source":"NVD","sourceType":"cve-db","type":"vulnerability","title":"CVE-2026-107377 — datamodel-code-generator generates Python data models from schema definitions.","description":"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.","cveId":"CVE-2026-107377","cvssScore":7.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","severity":"high","vendor":"PyPI","product":"datamodel-code-generator","affectedVersions":["pkg:pypi/datamodel-code-generator >= 0.59.0, < 0.81.0"],"cwes":["CWE-22","CWE-73"],"tags":["nvd","status:deferred","osv","osv:ghsa-77xj-x4rm-935c","ecosystem:pypi"],"relatedCves":[],"titleFingerprint":null,"countryCodes":[],"knownExploited":false,"patchAvailable":false,"patchLinks":[],"references":[{"url":"https://github.com/datamodel-code-generator/datamodel-code-generator/commit/5e94b8f4203198798ec66b8e48217f70af69a0dc","type":"other","title":"OSV web"},{"url":"https://github.com/datamodel-code-generator/datamodel-code-generator/releases/tag/0.81.0","type":"other","title":"OSV web"},{"url":"https://github.com/datamodel-code-generator/datamodel-code-generator/security/advisories/GHSA-77xj-x4rm-935c","type":"other","title":"OSV web"},{"url":"https://osv.dev/vulnerability/GHSA-77xj-x4rm-935c","type":"advisory","title":"OSV GHSA-77xj-x4rm-935c"},{"url":"https://github.com/datamodel-code-generator/datamodel-code-generator","type":"vendor","title":"OSV package"}],"epssScore":null,"epssPercentile":null,"nucleiTemplatePath":null,"nucleiSeverity":null,"enrichment":null,"publishedAt":"2026-10-08T18:17:22.973Z","addedAt":"2026-10-08T18:39:31.897Z","updatedAt":"2026-10-08T18:42:41.818Z","epssUpdatedAt":null,"nucleiUpdatedAt":null,"links":[{"label":"NVD","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-107377","note":"ingested from NVD"},{"label":"CVE Program","url":"https://www.cve.org/CVERecord?id=CVE-2026-107377","note":"authoritative record"},{"label":"OSV","url":"https://osv.dev/vulnerability/GHSA-77XJ-X4RM-935C"}],"raw":{"id":"CVE-2026-107377","cveTags":[],"metrics":{"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"}],"vulnStatus":"Deferred","weaknesses":[{"type":"Primary","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-08T18:17:23.367","sourceIdentifier":"security-advisories@github.com"}}],"pagination":{"page":1,"limit":20,"total":1,"totalPages":1,"hasNext":false,"hasPrev":false}},"meta":{"apiVersion":"v1","requestedAt":"2026-10-08T23:18:20.359Z","durationMs":24,"filters":{"search":null,"severity":[],"type":[],"country":[],"tag":[],"cwe":[],"vendor":null,"product":null,"cve":"CVE-2026-107377","source":[],"days":null,"publishedAfter":null,"publishedBefore":null,"minCvss":null,"maxCvss":null,"minEpss":null,"knownExploited":null,"hasPatch":null,"hasNucleiTemplate":null},"sort":"newest","unknownParams":["include"],"warnings":[]}}