CVE-2026-108380
WysokieCVSS 8.8Streszczenie
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.
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ść dokumentacji 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-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-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.65.9 through 0.70.5, PydanticFieldRepresentation.add_field_properties inserts a schema field's doc value between the quotes of a generated pydantic.Field description argument without escaping it. A crafted quote can terminate the string and inject an expression evaluated during generated class definition, allowing arbitrary Python code execution for Pydantic and AvroDantic model generation. Version 0.70.6 fixes the vulnerability by escaping the documentation value before rendering it.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

