PT-2026-65609 · Pypi · Datamodel-Code-Generator
CVE-2026-54653
·
Publicado
2026-07-28
·
Atualizado
2026-07-28
CVSS v3.1
8.8
Alta
| Vetor | AV: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. initeget field extrasemsrc/datamodel code generator/parser/jsonschema.pypreservam a entrada maliciosa. - Variável Vulnerável: O valor de
default factoryé interpolado sem validação ou uso derepr()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 👾
Identificadores relacionados
Produtos afetados
Datamodel-Code-Generator