CVE-2026-108382
WysokieCVSS 8.8Streszczenie
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.
Ocena ryzyka
Atakujący mogący dostarczyć spreparowany schemat Avro może wykonać dowolny kod Pythona w kontekście aplikacji, co prowadzi do pełnej kompromitacji systemu.
Rekomendacja
Zaktualizuj bibliotekę dataclasses-avroschema do wersji 0.70.6 lub nowszej, która escapuje wartości symboli enum przed renderowaniem.
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-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, EnumRepresentation.render_symbols concatenates each schema-controlled enum symbol between double quotes in a generated enum assignment. When generator classes are used directly, a quote can terminate the string literal and inject arbitrary Python code into the enum class body, which executes when the generated module is imported. Version 0.70.6 fixes the vulnerability by escaping enum symbol values before rendering them.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

