datamodel-code-generator генерирует модели, классы данных Pydantic v2, TypedDict и msgspec.Struct из OpenAPI, JSON Schema, GraphQL, Avro, Protobuf и необработанного JSON, YAML или CSV. С версий 0.11.6 до 0.64.0 datamodel-code-generator позволяет контролируемым злоумышленником расширениям схемы x-python-import или customTypePath достигать src/datamodel_code_generator/parser/jsonschema.py и генерировать обработку импорта через Import.from_full_path и Imports.create_line в src/datamodel_code_generator/imports.py, позволяя новой строке вырваться из оператор импорта и выполнить код Python при импорте сгенерированной модели. Эта проблема исправлена в версии 0.64.0.
Показать оригинальное описание (EN)
datamodel-code-generator generates Pydantic v2 models, dataclasses, TypedDict, and msgspec.Struct from OpenAPI, JSON Schema, GraphQL, Avro, Protobuf, and raw JSON, YAML, or CSV. From 0.11.6 until 0.64.0, datamodel-code-generator allows attacker-controlled x-python-import or customTypePath schema extensions to reach src/datamodel_code_generator/parser/jsonschema.py and generated import handling through Import.from_full_path and Imports.create_line in src/datamodel_code_generator/imports.py, allowing a newline to break out of an import statement and execute Python code when the generated model is imported. This issue is fixed in version 0.64.0.
Характеристики атаки
Последствия
Строка CVSS v3.1