CVE-2026-110261
ŚrednieCVSS 5.5Streszczenie
OW2 ASM w wersjach od 3.0 do 9.11 zawiera podatność typu denial of service, która pozwala atakującemu wyczerpać CPU poprzez dostarczenie spreparowanych plików klas przetwarzanych z użyciem ClassWriter.COMPUTE_FRAMES. Atakujący może przygotować metody, które powodują wolne zbieganie nieograniczonego algorytmu punktu stałego MethodWriter.computeAllFrames(), zajmując wątki transformujące na nieograniczony czas.
Ocena ryzyka
Atak może doprowadzić do wyczerpania CPU i zablokowania wątków transformujących, powodując odmowę usługi.
Rekomendacja
Zaktualizuj OW2 ASM do wersji 9.11 lub nowszej, a do czasu aktualizacji unikaj przetwarzania niezaufanych plików klas z użyciem ClassWriter.COMPUTE_FRAMES.
Inne podatności w OW2 ASM
Zobacz wszystkie- CVE-2026-110591Średnie
OW2 ASM w wersjach od 1.4.3 do 9.11 zawiera podatność nadmiernego zużycia zasobów w funkcji Analyzer.analyze(), która pozwala atakującemu wyczerpać pamięć i CPU za pomocą spreparowanych plików klas. Atakujący może dostarczyć pliki klas analizowane przez BasicVerifier, SimpleVerifier lub SourceInterpreter, aby wywołać nieograniczoną alokację Frame na instrukcję i iteracje punktu stałego, powodując odmowę usługi.
- CVE-2026-110270Średnie
OW2 ASM w wersjach od 3.0 do 9.11 zawiera podatność niekontrolowanej alokacji pamięci w asm-commons JSRInlinerAdapter, który wstawia podprogramy JSR/RET bez limitów pamięci i pracy. Atakujący może dostarczyć spreparowany plik klas z zagnieżdżonymi podprogramami, aby wymusić alokację pamięci O(2^n) i wywołać OutOfMemoryError, który zawiesza JVM.
- CVE-2026-110263Średnie
OW2 ASM w wersjach od 3.0 do 9.11 zawiera podatność niekontrolowanej rekurencji w funkcji SignatureReader.parseType(), która pozwala atakującemu wyczerpać stos poprzez głęboko zagnieżdżone sygnatury typów generycznych. Atakujący może dostarczyć spreparowany plik klas z długim atrybutem Signature zawierającym wiele zagnieżdżonych argumentów typu, aby wywołać StackOverflowError podczas transformacji klas, powodując odmowę usługi.
- CVE-2026-110262Niskie
OW2 ASM 3.1 przed wersją 9.11 zawiera podatność nadmiernej alokacji pamięci w klasie AdviceAdapter z asm-commons, umożliwiającą atakującym wyczerpanie pamięci poprzez dostarczenie spreparowanych plików klas. Atakujący może stworzyć bajtkod z wieloma docelowymi skokami w konstruktorach, powodując nieograniczone kopiowanie stosu w forwardJumpStackFrames i alokację setek megabajtów, prowadząc do odmowy usługi.
- CVE-2026-110260Średnie
OW2 ASM w wersjach od 3.0 do 9.11 zawiera podatność polegającą na kwadratowej alokacji pamięci w metodach MethodWriter.computeMaxStackAndLocal() oraz computeAllFrames() przy użyciu COMPUTE_MAXS lub COMPUTE_FRAMES. Atakujący może dostarczyć spreparowany plik klasy z tysiącami nakładających się handlerów wyjątków, co powoduje nadmierną alokację obiektów Edge i błąd OutOfMemoryError, który zawiesza JVM.
- CVE-2026-110259Średnie
OW2 ASM w wersjach od 3.0 do 9.11 zawiera podatność niekontrolowanej rekurencji w metodzie ClassWriter.replaceAsmInstructions(), która pozwala atakującym wywołać odmowę usługi poprzez spreparowane pliki klas. Atakujący może dostarczyć klasę z dużą metodą zawierającą wiele długich skoków do przodu, co wywołuje nieograniczoną rekurencję w toByteArray() i błąd StackOverflowError podczas transformacji.
- CVE-2026-110258Średnie
OW2 ASM w wersjach od 3.0 do 9.11 zawiera podatność nadmiernej alokacji pamięci w metodzie Label.addSubroutineRetSuccessors(), która nie egzekwuje reguły pojedynczego RET na JSR. Atakujący może dostarczyć spreparowany nieprawidłowy plik klasy z wieloma instrukcjami RET dla jednego JSR, co wywołuje alokację około 2 GB i zawiesza JVM.
- CVE-2026-110257Średnie
OW2 ASM w wersjach od 5.0 do 9.11 zawiera podatność nadmiernej alokacji pamięci w metodzie ClassReader.readBootstrapMethodsAttribute(), która ustala rozmiar tablicy int na podstawie num_bootstrap_methods bez walidacji attribute_length. Atakujący może dostarczyć spreparowany plik klasy o rozmiarze około 100 bajtów, co wymusza alokację około 2 GB, powodując błąd OutOfMemoryError, który zawiesza JVM lub zużywa wątek.
Oryginalny opis (angielski, źródło NVD)
OW2 ASM 3.0 before 9.11 contains a denial of service vulnerability that allows attackers to exhaust CPU by supplying crafted class files processed with ClassWriter.COMPUTE_FRAMES. Attackers can craft methods that make the unbounded MethodWriter.computeAllFrames() fix point algorithm converge slowly, tying up transforming threads for unbounded time.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

