PT-2026-65609 · Pypi · Datamodel-Code-Generator

CVE-2026-54653

·

Publicado

2026-07-28

·

Atualizado

2026-07-28

CVSS v3.1

8.8

Alta

VetorAV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Nome do Software Vulnerável e Versões Afetadas datamodel-code-generator versões 0.17.0 até 0.60.1
Description É possível a ocorrência de injeção de código ao gerar modelos Python a partir de esquemas JSON Schema, OpenAPI, YAML, JSON, Avro, Protobuf ou XSD controlados por um invasor. O problema ocorre porque a ferramenta preserva a chave default factory do esquema e interpola seu valor literalmente como uma expressão Python bruta nas chamadas Field(default factory=...) ou field(default factory=...) geradas. Como essas atribuições são avaliadas durante a definição da classe, a importação do módulo gerado leva à execução de código Python arbitrário no processo do consumidor.
A vulnerabilidade envolve os seguintes detalhes técnicos:
  • Funções Vulneráveis: JsonSchemaObject. init e get field extras em src/datamodel code generator/parser/jsonschema.py preservam a entrada maliciosa.
  • Variável Vulnerável: O valor de default factory é interpolado sem validação ou uso de repr() na saída gerada.
Isso afeta os tipos de modelo de saída Pydantic v2, dataclass e msgspec. O uso de typing.TypedDict como tipo de modelo de saída não é afetado, pois não renderiza as chamadas vulneráveis.
Recommendations Atualize o datamodel-code-generator para a versão 0.60.2 ou posterior.

Correção

Code Injection

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-54653
GHSA-386Q-5HP3-95M9

Produtos afetados

Datamodel-Code-Generator