HIGH🇬🇧 English

CVE-2026-54656

RCE w datamodel-code-generator poprzez niezabezpieczoną interpolację walidatorów

CVSS 7.8v3.1pub. 2026-07-28upd. 2026-08-06

Narzędzie datamodel-code-generator w wersjach od 0.52.1 do 0.60.2 pozwala na wykonanie dowolnego kodu Python poprzez niezabezpieczoną interpolację danych z parametru --extra-template-data do dekoratorów @field_validator. Podatność jest groźna, ponieważ złośliwy kod wykonuje się automatycznie w momencie importu wygenerowanego modelu Pydantic v2.

Pokaż oryginał (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.52.1 until 0.60.2, datamodel-code-generator interpolates validators from --extra-template-data in src/datamodel_code_generator/model/pydantic_v2/base_model.py through _process_validators into @field_validator decorators without safe validation, allowing Python code execution when the generated Pydantic v2 model is imported. This issue is fixed in version 0.60.2.

🤖 Analiza AI
Jak działa

Narzędzie przetwarza dane przekazane przez użytkownika za pomocą flagi --extra-template-data i interpoluje je jako walidatory w pliku base_model.py przez funkcję _process_validators, bez odpowiedniej walidacji lub sanityzacji danych wejściowych. W rezultacie kontrolowane przez atakującego dane trafiają bezpośrednio do dekoratorów @field_validator w generowanym kodzie Python. Gdy tak wygenerowany model Pydantic v2 zostaje zaimportowany przez ofiarę lub system CI/CD, osadzony kod Python jest wykonywany automatycznie.

Skutki

Atakujący może doprowadzić do wykonania dowolnego kodu Python na maszynie ofiary (RCE) z jej uprawnieniami, co może skutkować ujawnieniem danych, modyfikacją systemu lub dalszym ruchem bocznym (lateral movement) w środowisku.

Mitygacja

Należy zaktualizować datamodel-code-generator do wersji 0.60.2 lub nowszej, w której podatność została naprawiona. Patch dostępny jest w repozytorium projektu na GitHub.

Kogo dotyczy

datamodel-code-generator w wersjach od 0.52.1 do 0.60.1 (włącznie)

Uwagi

Podatność dotyczy scenariusza, w którym atakujący kontroluje dane wejściowe do parametru --extra-template-data, a wygenerowany kod jest następnie importowany przez inny proces lub użytkownika. Szczegóły techniczne oraz commit naprawiający dostępne są w repozytorium GitHub projektu (commit a43d029).

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
  • Koxudaxi Datamodel Code Generator

    APP
    Koxudaxi
    0.52.1 – 0.60.2 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCE
CWE
Referencje

Powiązane podatności

CVE-2026-54653HIGH8.8PL ✓ten sam produkt

datamodel-code-generator: wstrzyknięcie kodu Python przez default_factory

CVE-2026-54690HIGH8.2PL ✓ten sam produkt

SSRF w datamodel-code-generator poprzez nieblokowane zewnętrzne $ref

CVE-2026-55389HIGH7.5PL ✓ten sam produkt

Path traversal w datamodel-code-generator umożliwia odczyt dowolnych plików lokalnych

CVE-2026-55391HIGH7.5PL ✓ten sam produkt

SSRF przez DNS rebinding w datamodel-code-generator (przed 0.63.0)

CVE-2026-55415HIGH7.5PL ✓ten sam produkt

Code injection w datamodel-code-generator poprzez rozszerzenia schematu