CVE-2026-115920
ŚrednieCVSS 6.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może dostarczyć spreparowany model ONNX powodujący awarię aplikacji podczas wnioskowania kształtów, co prowadzi do odmowy usługi. Brak wpływu na poufność i integralność danych.
Rekomendacja
Zaktualizuj bibliotekę ONNX do wersji 1.22.0 lub nowszej. Waliduj niezaufane modele przed przetwarzaniem.
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-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.
- CVE-2026-28500Wysokie
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.
Oryginalny opis (angielski, źródło NVD)
Open Neural Network Exchange (ONNX) is an open standard for machine learning interoperability. From 1.2.1 until 1.22.0, ConvTranspose shape inference processes a weight tensor with fewer than three dimensions without a kernel_shape attribute by deriving an empty effective_kernel_shape and indexing it for the input's spatial dimensions. The flaw affects convTransposeShapeInference_opset11() and the current inference path, and an untrusted model that can pass onnx.checker.check_model() can crash onnx.shape_inference.infer_shapes(), causing denial of service without demonstrated confidentiality or integrity impact. This issue is fixed in version 1.22.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

