CVE-2026-54752
KrytyczneCVSS 9.6Streszczenie
Biblioteka NetBox Device Type Library zawiera podatność deserializacji w narzędziu testowym, które ładuje pliki pickle kontrolowane przez autora pull requesta. Nieuwierzytelniony współtwórca może dostarczyć spreparowany plik pickle, co prowadzi do wykonania dowolnego kodu podczas uruchamiania testów pytest w GitHub Actions lub w procesie opiekuna projektu.
Ocena ryzyka
Wykonanie dowolnego kodu w środowisku CI lub na maszynie opiekuna projektu może skutkować kradzieżą sekretów, modyfikacją kodu oraz kompromitacją całego repozytorium i infrastruktury.
Rekomendacja
Zaktualizuj repozytorium do commita 1c6f7e2b93589b965318c6e67ac3504831f0e71e lub nowszego i unikaj deserializacji niezaufanych plików pickle w procesach CI.
Inne podatności w NetBox Device Type Library
Zobacz wszystkie- CVE-2026-54918Średnie
NetBox Device Type Library w dotkniętych rewizjach repozytorium zawiera stałą NETBOX_DT_LIBRARY_URL w tests/test_configuration.py, która jest swobodnie modyfikowalna przez nieuwierzytelnionego autora pull requesta przed uruchomieniem testów walidacyjnych. Podczas zbierania pytest, tests/definitions_test.py przekazuje tę wartość do Repo.clone_from i create_remote("upstream").fetch(), co powoduje ślepe żądania Git smart-HTTP do wybranego przez atakującego hosta lub ładowanie kontrolowanych przez atakującego plików tests/known-*.json jako pamięci podręcznej walidacji. Ślepe żądanie nie może ustawić dowolnych nagłówków usługi metadanych ani zwrócić treści odpowiedzi, a ta ścieżka nie wykonuje zdalnych hooków Git, ale podstawione znane dane mogą ominąć walidację unikalności slug, modułu i szafy. Podatność naprawiono w commicie 8980c690097e92f5028c7e6df402b327d827ecd5.
- CVE-2026-54916Wysokie
NetBox Device Type Library, zbiór definicji typów urządzeń do importu do NetBox, posiada podatność wynikającą z braku tests/init.py i braku --import-mode=importlib, co powoduje umieszczenie katalogu tests na początku sys.path podczas zbierania testów przez pytest. Nieuwierzytelniony współtwórca może dodać moduł taki jak tests/git.py przesłaniający GitPython lub tests/conftest.py, co prowadzi do wykonania dowolnego kodu na runnerze GitHub Actions.
Oryginalny opis (angielski, źródło NVD)
NetBox Device Type Library is a collection of community-sourced device type definitions for import into NetBox. The validation test harness can deserialize pull-request-controlled tracked pickle cache files through pickle.load in the read_pickle_data function in tests/pickle_operations.py. An unauthenticated contributor can change USE_LOCAL_KNOWN_SLUGS in tests/test_configuration.py and supply a crafted tests/known-modules.pickle or tests/known-racks.pickle file that tests/definitions_test.py loads when pytest runs. Deserialization invokes attacker-controlled object reduction behavior, allowing arbitrary code execution in the GitHub Actions runner or in a maintainer process that runs the tests, with the confidentiality, integrity, and availability of reachable resources at risk. This vulnerability is fixed with commit 1c6f7e2b93589b965318c6e67ac3504831f0e71e.

