CVE-2026-115919
ŚrednieCVSS 6.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
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().
Ocena ryzyka
Atakujący może dostarczyć spreparowany model ONNX powodujący awarię aplikacji podczas wnioskowania kształtów, prowadząc do odmowy usługi. Ryzyko dotyczy systemów przetwarzających niezaufane modele ML.
Rekomendacja
Zaktualizuj bibliotekę ONNX do wersji 1.22.0 lub nowszej. Unikaj przetwarzania niezaufanych modeli bez dodatkowej walidacji.
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-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. Prior to 1.22.0, RNNShapeInference_opset1_to_6() processes malformed RNN and LSTM nodes from opsets 1 through 6 and GRU nodes from opsets 3 through 6 without verifying that the first input has rank three. The function accesses dim(0) and dim(1) on an undersized protobuf shape, which can read outside the intended repeated field and terminate an application when onnx.shape_inference.infer_shapes() processes an untrusted model that can pass onnx.checker.check_model(). This issue is fixed in version 1.22.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

