CVE-2026-54621
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 4 - wyżej niż 4% wszystkich znanych CVE
Streszczenie
Narzędzie datamodel-code-generator przed wersją 0.60.1 renderuje wartości opisu Union GraphQL w komentarzach Python bez neutralizowania znaków powrotu karetki, co pozwala na wstrzyknięcie kodu Python do wygenerowanych modeli.
Ocena ryzyka
Atakujący może wstrzyknąć złośliwy kod Python przez kontrolowaną treść schematu GraphQL, który zostanie wykonany podczas importu modelu.
Rekomendacja
Zaktualizuj datamodel-code-generator do wersji 0.60.1 lub nowszej.
Inne podatności w datamodel-code-generator
Zobacz wszystkie- CVE-2026-55415Wysokie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
datamodel-code-generator generates Python data models from schema definitions. Prior to 0.60.1, GraphQL Union description values in src/datamodel_code_generator/model/template/UnionTypeStatement.jinja2 and src/datamodel_code_generator/model/template/UnionTypeStatement.py312.jinja2 are rendered into Python comments without neutralizing carriage returns in Python # comments, allowing attacker-controlled GraphQL schema content to inject Python code into generated models that runs when imported. This issue is fixed in version 0.60.1.

