CVE-2026-112046
ŚrednieCVSS 5.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
OW2 ASM w wersjach od 9.11 do 9.11.1 zawiera podatność na nieskończoną pętlę w metodzie Label.resolve(), spowodowaną obcinaniem 16-bitowych przesunięć referencji do przodu, gdy przepisane metody przekraczają 64 KB. Atakujący może dostarczyć spreparowane pliki klas, których przekształcony kod przekracza 65535 bajtów, zawieszając ClassReader.accept() i powodując odmowę usługi.
Ocena ryzyka
Narzędzia budujące, instrumentujące, agenci i analizatory korzystające z OW2 ASM mogą zostać zawieszone przez złośliwy plik klas, co prowadzi do odmowy usługi w procesie budowania lub analizy.
Rekomendacja
Zaktualizuj bibliotekę OW2 ASM do wersji 9.11.1 lub nowszej, która naprawia tę podatność.
Inne podatności w OW2 ASM
Zobacz wszystkie- 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-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.
- 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-110261Średnie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
OW2 ASM 9.11 before 9.11.1 contains an infinite loop vulnerability in Label.resolve() caused by 16-bit forward-reference offsets truncating when rewritten methods exceed 64 KB. Attackers can supply crafted class files whose transformed code grows past 65535 bytes, hanging ClassReader.accept() and denying service to build tools, instrumenters, agents, or analyzers.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

