p PatchFirst

CVE-2026-107377

CVE-2026-107377 · datamodel-code-generator: Protobuf weak-import path traversal allows files to be written outside the temporary directory

Здесь приведены факты из открытых источников об уязвимостях. Перед обновлением ознакомьтесь с исходным сообщением.

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.

CVSS 7.5 · Высокий · EPSS 0,5% · Есть исправление

Опубликовано
Обновлено

Стек: system · python

Затронутые продукты и версии

  • datamodel-code-generator

    Версии
    • >= 0.59.0, < 0.81.0: Затронуто

    Нет опубликованного исправления

  • datamodel-code-generator PyPI

    Версии
    • 0.59.0
    • 0.59.1
    • 0.60.0
    • 0.60.1
    • 0.60.2
    • 0.61.0
    • 0.62.0
    • 0.63.0
    • 0.64.0
    • 0.64.1
    • 0.65.0
    • 0.65.1
    • 0.66.0
    • 0.66.1
    • 0.66.2
    • 0.66.3
    • 0.67.0
    • 0.68.0
    • 0.68.1
    • 0.69.0
    • 0.70.0
    • 0.71.0
    • 0.72.0
    • 0.72.1
    • 0.72.2
    • 0.72.3
    • 0.72.4
    • 0.73.0
    • 0.74.0
    • 0.75.0
    • 0.75.1
    • 0.76.0
    • 0.76.1
    • 0.76.2
    • 0.77.0
    • 0.78.0
    • 0.79.0
    • 0.80.0
    Затронутые диапазоны версий
    • ECOSYSTEM: ≥ 0.59.0, < 0.81.0

    Обновитесь до 0.81.0

  • python-datamodel-code-generator Ubuntu:26.10

    Версии
    • 0.45.0-1
    • 0.57.0-1
    • 0.68.1-2
    • 0.71.0-1
    Затронутые диапазоны версий
    • ECOSYSTEM: (−∞, +∞)

    Нет опубликованного исправления

  • python-datamodel-code-generator Ubuntu:26.04:LTS

    Версии
    • 0.26.4-3
    • 0.45.0-1
    Затронутые диапазоны версий
    • ECOSYSTEM: (−∞, +∞)

    Нет опубликованного исправления

Первоисточники

Проверьте свой сервер →