CVE-2026-55415
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
W datamodel-code-generator od wersji 0.11.6 do 0.64.0, rozszerzenia schematu x-python-import lub customTypePath kontrolowane przez atakującego mogą dotrzeć do parsera JSON Schema i wygenerować importy, które pozwalają na wstrzyknięcie nowej linii do instrukcji importu i wykonanie kodu Python podczas importowania wygenerowanego modelu.
Ocena ryzyka
Atakujący może dostarczyć spreparowany schemat OpenAPI lub JSON Schema, który po wygenerowaniu modelu i jego zaimportowaniu wykonuje dowolny kod Python, co prowadzi do przejęcia systemu.
Rekomendacja
Zaktualizuj datamodel-code-generator do wersji 0.64.0 lub nowszej, która zawiera poprawkę zapobiegającą wstrzykiwaniu kodu przez rozszerzenia schematu.
Inne podatności w datamodel-code-generator
Zobacz wszystkie- CVE-2026-55403Niskie
W narzędziu datamodel-code-generator przed wersją 0.63.0 funkcja get_body ponownie używa nagłówków Authorization, Cookie i Proxy-Authorization podczas podążania za przekierowaniami między domenami przy pobieraniu zdalnych schematów, co może prowadzić do wycieku poświadczeń do zewnętrznych serwerów. Problem został naprawiony w wersji 0.63.0.
- CVE-2026-55391Wysokie
W datamodel-code-generator przed wersją 0.63.0, walidacja hosta URL w http.py sprawdza go raz, ale potem pozwala httpx na ponowne rozpoznanie hosta dla połączenia, co umożliwia ponowne wiązanie DNS w celu ominięcia ustawienia allow_private_network=False i dotarcia do wewnętrznych usług.
- CVE-2026-55390Wysokie
W datamodel-code-generator od wersji 0.59.0 do 0.62.0, parsowanie schematu XML dla --input-file-type xmlschema rozwiązuje wartości schemaLocation w xs:include, xs:import, xs:redefine i xs:override poza ścieżką bazową wejścia, co pozwala na odczyt dowolnych lokalnych plików i odzwierciedlenie ich w wygenerowanych modelach.
- CVE-2026-55389Wysokie
Narzędzie datamodel-code-generator przed wersją 0.62.0 nieprawidłowo obsługuje referencje JSON Schema $ref, umożliwiając odczyt dowolnych plików lokalnych. Podatność występuje w parserze jsonschema.py, który nie blokuje ścieżek typu file:// ani ../ wykraczających poza katalog wejściowy.
- CVE-2026-54691Wysokie
Narzędzie datamodel-code-generator w wersjach od 0.9.1 do 0.61.0 nie waliduje hostów/IP w celach URL i przekierowań, co umożliwia atak SSRF (Server-Side Request Forgery) na zasoby wewnętrzne. Podatność znajduje się w funkcji http.get_body.
- CVE-2026-54690Wysokie
Narzędzie datamodel-code-generator w wersjach od 0.9.1 do 0.61.0 automatycznie dereferencjonuje referencje JSON Schema $ref z HTTP/HTTPS bez odpowiedniego blokowania, co umożliwia atak SSRF. Opcja --allow-remote-refs tylko ostrzega zamiast blokować.
- CVE-2026-54656Wysokie
Narzędzie datamodel-code-generator w wersjach od 0.52.1 do 0.60.2 interpoluje walidatory z parametru --extra-template-data bez bezpiecznej walidacji, co pozwala na wykonanie kodu Python po zaimportowaniu wygenerowanego modelu Pydantic v2.
- CVE-2026-54655Wysokie
Narzędzie datamodel-code-generator w wersjach od 0.51.0 do 0.60.2 wstawia wartości x-python-type do adnotacji pól bez wystarczającej walidacji, co umożliwia wykonanie kodu Python po zaimportowaniu wygenerowanego modułu.
- CVE-2026-54654Wysokie
Narzędzie datamodel-code-generator w wersjach od 0.14.1 do 0.60.2 renderuje pole komentarza z --extra-template-data w komentarzach Python bez neutralizowania znaków powrotu karetki, co pozwala na wstrzyknięcie kodu Python do wygenerowanych modeli.
- CVE-2026-54653Wysokie
Narzędzie datamodel-code-generator w wersjach od 0.17.0 do 0.60.2 zachowuje kontrolowane przez atakującego wartości default_factory i emituje je do Field(default_factory=...), co pozwala na wykonanie wyrażeń Python po zaimportowaniu modelu.
Oryginalny opis (angielski, źródło NVD)
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.

