CVE-2026-28500
WysokieCVSS 8.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
W bibliotece ONNX w wersjach do 1.20.1 wykryto obejście mechanizmu bezpieczeństwa w funkcji onnx.hub.load(). Użycie parametru silent=True całkowicie wycisza ostrzeżenia o ładowaniu modeli z nieoficjalnych źródeł, umożliwiając ataki typu łańcuch dostaw bez interakcji użytkownika.
Ocena ryzyka
Ryzyko polega na możliwości przeprowadzenia ataku na łańcuch dostaw, który po załadowaniu złośliwego modelu może doprowadzić do kradzieży wrażliwych plików, takich jak klucze SSH czy dane uwierzytelniające do chmury, bez wiedzy ofiary.
Rekomendacja
Zaleca się natychmiastowe zaprzestanie używania funkcji onnx.hub.load() z parametrem silent=True oraz monitorowanie oficjalnych kanałów w poszukiwaniu łatki. Do czasu wydania poprawek należy unikać ładowania modeli z niezweryfikowanych źródeł.
Inne podatności w ONNX
Zobacz wszystkie- CVE-2026-115922Średnie
Open Neural Network Exchange (ONNX) to otwarty standard interoperacyjności uczenia maszynowego. W wersjach przed 1.22.0 funkcje _unpack_2bit() i _unpack_4bit() zmieniają rozmiar rozpakowanych tablic zgodnie z kontrolowanymi przez atakującego wymiarami TensorProto.dims bez weryfikacji, czy raw_data lub int32_data koduje zadeklarowaną liczbę elementów. Materializacja niezaufanego tensora UINT2, INT2, UINT4, INT4 lub FLOAT4E2M1 przez onnx.numpy_helper.to_array() lub onnx.reference.ReferenceEvaluator może rozszerzyć mały ładunek do nieproporcjonalnie dużej alokacji i wyczerpać pamięć.
- CVE-2026-115921Średnie
Biblioteka ONNX w wersjach od 1.4.0 do 1.22.0 nieprawidłowo waliduje wymagany atrybut num_scan_inputs w funkcjach wnioskowania kształtów ScanInferenceFunction. Brakujący atrybut powoduje dereferencję wskaźnika null, a wartość ujemna jest konwertowana do size_t i może prowadzić do nadmiernej alokacji pamięci. Niezaufany model może przerwać lub zakłócić wnioskowanie kształtów, w tym model z wartością ujemną, który przechodzi walidację onnx.checker.check_model().
- CVE-2026-115920Średnie
Biblioteka ONNX w wersjach od 1.2.1 do 1.22.0 podczas wnioskowania kształtów ConvTranspose przetwarza tensor wag o mniej niż trzech wymiarach bez atrybutu kernel_shape, tworząc pusty effective_kernel_shape i indeksując go dla wymiarów przestrzennych. Niezaufany model przechodzący walidację onnx.checker.check_model() może spowodować awarię onnx.shape_inference.infer_shapes(), prowadząc do odmowy usługi.
- CVE-2026-115919Średnie
Biblioteka ONNX przed wersją 1.22.0 w funkcji RNNShapeInference_opset1_to_6() przetwarza zniekształcone węzły RNN i LSTM z opsetów 1-6 oraz GRU z opsetów 3-6 bez weryfikacji, że pierwszy wejściowy tensor ma rangę trzy. Funkcja uzyskuje dostęp do dim(0) i dim(1) na zbyt małym kształcie protobuf, co może odczytać poza zamierzonym polem i zakończyć aplikację podczas przetwarzania niezaufanego modelu przez onnx.shape_inference.infer_shapes().
- CVE-2026-49114Wysokie
ONNX przed wersją 1.21.0 zawiera podatność w funkcji 'save_external_data', która buduje ścieżkę pliku danych zewnętrznych i otwiera go do zapisu bez zabezpieczeń O_NOFOLLOW/O_EXCL, po nieatomowym sprawdzeniu 'os.path.isfile()'. Lokalny atakujący może podmienić plik na dowiązanie symboliczne, co pozwala na dopisanie danych do dowolnego pliku, do którego ofiara ma prawo zapisu.
- CVE-2026-63632Niskie
Podatność w bibliotece ONNX od wersji 1.3.0 do 1.22.0 pozwala na odczyt poza zakresem pamięci w funkcji Gemm_7_6::adapt_gemm_7_6() podczas konwersji wersji opset 7 do 6, gdy tensor wejściowy ma mniej niż dwie wymiary. Może to spowodować awarię procesu.
- CVE-2026-44512Średnie
Podatność w bibliotece ONNX (wersje od 1.9.0 do 1.22.0) pozwala na wywołanie dereferencji pustego wskaźnika w funkcji Upsample_6_7::adapt_upsample_6_7() podczas przetwarzania złośliwego modelu z węzłem Upsample posiadającym zero wejść. Prowadzi to do nieodwracalnej odmowy usługi (DoS).
- CVE-2026-27489Wysokie
W bibliotece ONNX przed wersją 1.21.0 wykryto podatność na przejście ścieżki przez dowiązania symboliczne (symlink). Umożliwia ona odczyt dowolnych plików poza katalogiem modelu lub katalogiem wskazanym przez użytkownika.
Oryginalny opis (angielski, źródło NVD)
Open Neural Network Exchange (ONNX) is an open standard for machine learning interoperability. In versions up to and including 1.20.1, a security control bypass exists in onnx.hub.load() due to improper logic in the repository trust verification mechanism. While the function is designed to warn users when loading models from non-official sources, the use of the silent=True parameter completely suppresses all security warnings and confirmation prompts. This vulnerability transforms a standard model-loading function into a vector for Zero-Interaction Supply-Chain Attacks. When chained with file-system vulnerabilities, an attacker can silently exfiltrate sensitive files (SSH keys, cloud credentials) from the victim's machine the moment the model is loaded. As of time of publication, no known patched versions are available.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

