CVE-2026-108383
WysokieCVSS 8.8Streszczenie
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.
Ocena ryzyka
Atakujący mogący dostarczyć spreparowany schemat Avro może wpłynąć na generowany kod Pythona, potencjalnie powodując modyfikację przestrzeni nazw lub awarię modułu.
Rekomendacja
Zaktualizuj bibliotekę dataclasses-avroschema do wersji 0.70.6 lub nowszej, która waliduje domyślne wartości enum jako nazwy.
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-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.
- CVE-2026-108375Wysokie
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.
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 renders a schema-controlled enum field default as an enum member reference after applying case conversion but without validating it as an identifier. Newlines, operators, and punctuation can escape the intended reference and inject constrained statements into the generated module, allowing namespace modification or preventing the module from loading. Version 0.70.6 fixes the vulnerability by validating enum defaults as names.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

