CVE-2026-33306
WysokieCVSS 7.5Streszczenie
Biblioteka bcrypt-ruby (do wersji 3.1.22) zawiera przepełnienie liczb całkowitych w implementacji Java BCrypt dla JRuby, które przy koszcie 31 powoduje zerową liczbę iteracji w pętli wzmacniania. To sprawia, że bcrypt działa jak obliczenie o stałym czasie, a wynikowy hash wygląda poprawnie i weryfikuje się prawidłowo. Problem występuje tylko przy użyciu kosztu 31 lub weryfikacji hasha $2a$31$.
Ocena ryzyka
Jeśli aplikacja używa kosztu 31, hasła są praktycznie niechronione przed atakami brute-force, co może prowadzić do szybkiego złamania haseł. Luka jest niewidoczna dla aplikacji, ponieważ hash wygląda na prawidłowy.
Rekomendacja
Zaktualizuj bcrypt-ruby do wersji 3.1.22 lub nowszej. Jako obejście ustaw koszt na wartość mniejszą niż 31.
Powiązane podatności
- CVE-2026-60043Krytyczne
Nieuwierzytelniony zdalny atakujący może przeprowadzić atak XSS na zalogowanego użytkownika backendu, co pozwala na wykonanie krytycznych akcji systemowych, takich jak wyłączenie serwera lub przywrócenie przesłanego backupu.
- CVE-2026-13312Krytyczne
Opisana podatność może umożliwić atakującemu przejęcie kontroli nad systemem. Szczegóły techniczne nie zostały podane w opisie.
- CVE-2026-115646Krytyczne
Podatność polegająca na częściowym porównywaniu ciągów znaków w produkcie HiRDB. Problem dotyczy serwera HiRDB w wersjach 10 (od 10-00 przed 10-12-01) oraz 9 (od 09-50-06 do 09-66-22), a także wersji z dodatkowymi funkcjami.
- CVE-2026-89126Krytyczne
SAP Web Dispatcher nieprawidłowo waliduje dane sieciowe przetwarzane przez komponent wewnętrzny. Nieuwierzytelniony atakujący może wysłać spreparowany ruch sieciowy, wywołując uszkodzenie pamięci, co może prowadzić do wykonania dowolnego kodu i pełnego przejęcia systemu.
- CVE-2026-89119Krytyczne
SAP Web Dispatcher oraz SAP NetWeaver Application Server ABAP (Internet Communication Manager) nie wykonują wystarczającej walidacji żądań w niektórych funkcjach administracyjnych. Nieuwierzytelniony atakujący może nakłonić zalogowanego administratora do odwiedzenia złośliwego linku, co może wywołać niepożądane akcje w sesji administratora i doprowadzić do pełnego przejęcia systemu operacyjnego.
- CVE-2026-89103Krytyczne
SAP Gateway aktywuje domyślną listę kontroli dostępu z wysokimi uprawnieniami, co pozwala zaklasyfikować zewnętrznego atakującego jako wewnętrzny serwer aplikacji. Nieuwierzytelniony atakujący z dostępem sieciowym do SAP Gateway może wykonywać nieautoryzowane działania w środowisku aplikacji.
- CVE-2026-76965Krytyczne
SAP NetWeaver Application Server ABAP i ABAP Platform nie wykonują niezbędnych kontroli autoryzacji dla niektórych funkcji wewnętrznych. Atakujący z niskimi uprawnieniami może wywołać podatną funkcjonalność i wykonać dowolne polecenia systemu operacyjnego na hoście.
- CVE-2026-76964Krytyczne
SAP NetWeaver Application Server ABAP nieprawidłowo waliduje dane sieciowe przetwarzane przez komponent wewnętrzny. Nieuwierzytelniony atakujący może wysłać spreparowany ruch sieciowy, wywołując uszkodzenie pamięci, co może prowadzić do wykonania dowolnego kodu i pełnego przejęcia systemu.
- CVE-2026-125086Krytyczne
W urządzeniu D-Link M60 1.12.B01 w pliku /etc/emDaemon/mosquitto.conf komponentu emDaemon MQTT Broker występują zaszyte na stałe poświadczenia. Podatność można wykorzystać zdalnie, a publicznie ujawniony exploit może być już używany.
- CVE-2026-124600Krytyczne
GV-Face przesyła poufne dane uwierzytelniające użytkowników oraz powiązane dane uwierzytelniania przez niezaszyfrowane połączenia HTTP. Ruch HTTP nie jest szyfrowany, co umożliwia atakującemu przechwycenie transmisji.
Oryginalny opis (angielski, źródło NVD)
bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm. Prior to version 3.1.22, an integer overflow in the Java BCrypt implementation for JRuby can cause zero iterations in the strengthening loop. Impacted applications must be setting the cost to 31 to see this happen. The JRuby implementation of bcrypt-ruby (`BCrypt.java`) computes the key-strengthening round count as a signed 32-bit integer. When `cost=31` (the maximum allowed by the gem), signed integer overflow causes the round count to become negative, and the strengthening loop executes **zero iterations**. This collapses bcrypt from 2^31 rounds of exponential key-strengthening to effectively constant-time computation — only the initial EksBlowfish key setup and final 64x encryption phase remain. The resulting hash looks valid (`$2a$31$...`) and verifies correctly via `checkpw`, making the weakness invisible to the application. This issue is triggered only when cost=31 is used or when verifying a `$2a$31$` hash. This problem has been fixed in version 3.1.22. As a workaround, set the cost to something less than 31.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

