CVE-2026-108375
WysokieCVSS 8.8Streszczenie
Biblioteka dataclasses-avroschema w wersjach 0.38.0–0.70.5 wstawia kontrolowane przez schemat wartości domyślne pól typu string, UUID, bytes i fixed do literałów tekstowych w generowanym kodzie Pythona bez escapowania. Spreparowana wartość domyślna może zamknąć literał i wstrzyknąć instrukcje do generowanego modułu, które wykonają się przy jego imporcie.
Ocena ryzyka
Atakujący mogący wpłynąć na wartości domyślne w schemacie może wykonać dowolny kod Pythona podczas importu wygenerowanego modułu, co zagraża integralności i poufności systemu.
Rekomendacja
Zaktualizuj dataclasses-avroschema do wersji 0.70.6 lub nowszej, która escapuje wartości schematu wstawiane do generowanych literałów tekstowych.
Inne podatności w dataclasses-avroschema
Zobacz wszystkie- CVE-2026-108385Wysokie
Biblioteka dataclasses-avroschema w wersjach 0.38.0–0.70.5 nie waliduje symboli enum jako identyfikatorów, co pozwala na wstrzyknięcie instrukcji do generowanej klasy enum. Może to prowadzić do modyfikacji przestrzeni nazw lub uniemożliwić załadowanie modułu.
- CVE-2026-108384Wysokie
Biblioteka dataclasses-avroschema w wersjach 0.38.0–0.70.5 nieprawidłowo przetwarza wartość aliasów typu fixed, wstawiając ją bez cudzysłowów do adnotacji types.confixed. Pozwala to na wykonanie dowolnego kodu Pythona podczas importu wygenerowanego modułu.
- CVE-2026-108383Wysokie
Biblioteka dataclasses-avroschema w wersjach 0.38.0–0.70.5 nie waliduje domyślnej wartości pola enum jako identyfikatora, co pozwala na wstrzyknięcie instrukcji do generowanego modułu. Może to prowadzić do modyfikacji przestrzeni nazw lub uniemożliwić załadowanie modułu.
- CVE-2026-108382Wysokie
Biblioteka dataclasses-avroschema w wersjach 0.38.0–0.70.5 nie escapuje symboli enum, co pozwala na wstrzyknięcie dowolnego kodu Pythona do ciała klasy enum. Kod ten jest wykonywany podczas importu wygenerowanego modułu.
- CVE-2026-108381Wysokie
Biblioteka dataclasses-avroschema w wersjach 0.44.0–0.70.5 nie ogranicza bezpiecznie wartości pydantic-class w adnotacjach pól, co pozwala na wykonanie dowolnego kodu Pythona podczas importu wygenerowanego modułu. Dotyczy generatorów modeli Pydantic i AvroDantic.
- CVE-2026-108380Wysokie
Biblioteka dataclasses-avroschema w wersjach 0.65.9–0.70.5 nie escapuje wartości doc wstawianej do argumentu description w pydantic.Field, co pozwala na wstrzyknięcie wyrażenia i wykonanie dowolnego kodu Pythona podczas definicji klasy. Dotyczy generowania modeli Pydantic i AvroDantic.
- CVE-2026-108379Wysokie
Biblioteka dataclasses-avroschema w wersjach 0.38.0–0.70.5 nie escapuje ani nie waliduje wartości namespace typu fixed, wstawiając ją w cudzysłowach do adnotacji types.confixed. Pozwala to na wykonanie dowolnego kodu Pythona podczas definicji wygenerowanej klasy.
- CVE-2026-108378Wysokie
Biblioteka dataclasses-avroschema w wersjach 0.40.0–0.70.5 nie escapuje cudzysłowów ani ukośników podczas kopiowania wartości doc z rekordu schematu do generowanego docstringa klasy. Spreparowana sekwencja potrójnego cudzysłowu może zamknąć docstring i wstrzyknąć kod do treści generowanej klasy, co prowadzi do wykonania kodu Pythona przy imporcie modułu.
- CVE-2026-108377Wysokie
Biblioteka dataclasses-avroschema w wersjach 0.62.3–0.70.5 wstawia kontrolowaną przez schemat nazwę rekordu Avro do pola Meta.schema_name w generowanym kodzie Pythona bez escapowania. Spreparowana nazwa może zamknąć literał tekstowy i wstrzyknąć instrukcje do treści generowanej klasy, które wykonają się przy imporcie modułu.
- CVE-2026-108376Wysokie
Biblioteka dataclasses-avroschema w wersjach 0.47.3–0.70.5 wstawia kontrolowaną przez schemat nazwę referencyjnego rekordu do pozycji wywoływalnej lambdy default_factory bez walidacji zgodności z gramatyką nazw Avro. Spreparowana nazwa rekordu może stać się dowolnym wyrażeniem Pythona, które wykona się, gdy instancja wygenerowanego modelu użyje domyślnej wartości pola.
Oryginalny opis (angielski, źródło NVD)
dataclasses-avroschema generates Avro schemas from Python dataclasses, Pydantic models, and Faust Records and generates Python code from Avro schemas. From version 0.38.0 through 0.70.5, FieldRepresentation.get_field_default inserts schema-controlled string, UUID, bytes, and fixed field defaults into quoted literals in generated Python source without escaping them. A crafted default can terminate the literal and inject statements into the generated module, which execute when the module is imported. Version 0.70.6 fixes the vulnerability by escaping schema values rendered into generated string literals.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

