CVE-2026-108384
WysokieCVSS 8.8Streszczenie
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.
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 odrzuca wartości aliasów niebędące listami.
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-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.
- 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, BaseGenerator.parse_fixed interpolates a fixed type's aliases value directly into a generated types.confixed annotation. A list is represented with quoted entries, but a bare string is emitted as an unquoted Python expression and evaluated when the generated module is imported, allowing arbitrary code execution from a crafted schema. Version 0.70.6 fixes the vulnerability by rejecting aliases values that are not lists.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

