CVE-2026-55215
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 36 - wyżej niż 36% wszystkich znanych CVE
Streszczenie
MariaDB Connector/Node.js przed wersjami 3.3.3, 3.4.6 i 3.5.3, gdy SSL jest włączony bez przypiętego certyfikatu CA lub serwera, wysyła poświadczenia przed zakończeniem weryfikacji odcisku certyfikatu. Aktywny atakujący typu man-in-the-middle może przechwycić hasło bazy danych.
Ocena ryzyka
Atakujący może przechwycić hasło bazy danych i użyć go do bezpośredniego uwierzytelnienia, co prowadzi do naruszenia poufności danych.
Rekomendacja
Zaktualizuj MariaDB Connector/Node.js do wersji 3.3.3, 3.4.6 lub 3.5.3, które zawierają poprawki.
Inne podatności w MariaDB Connector/Node.js
Zobacz wszystkie- CVE-2026-107385Wysokie
Podatność w MariaDB Connector/Node.js przed wersjami 3.2.5, 3.3.4, 3.4.7 i 3.5.4. Podczas korzystania z protokołu tekstowego, escapowanie zawsze poprzedza cudzysłowy backslashem i nie honoruje trybu NO_BACKSLASH_ESCAPES, co pozwala na wstrzyknięcie SQL przez wartość kontrolowaną przez atakującego.
- CVE-2026-107384Wysokie
Podatność w MariaDB Connector/Node.js od wersji 3.2.0 do 3.2.5, 3.3.4, 3.4.7 i 3.5.4. Gdy włączona jest opcja permitSetMultiParamEntries, klucze obiektów są rozwijane do klauzuli SQL SET bez przetwarzania przez escapeId, co pozwala na wstrzyknięcie SQL przez klucz zawierający backtick.
- CVE-2026-107383Wysokie
Podatność w MariaDB Connector/Node.js przed wersjami 3.2.5, 3.3.4, 3.4.7 i 3.5.4. Kodery binarne GeoJSON Polygon i MultiPolygon alokują pamięć przez Buffer.allocUnsafe() na podstawie długości liczbowej pierścienia przed potwierdzeniem, że pierścień jest tablicą, co może ujawnić niezainicjalizowane dane z pamięci Node.js.
- CVE-2026-107382Średnie
W MariaDB Connector/Node.js w wersjach od 3.3.0 do 3.5.4, ścieżka walidacji odcisku palca TLS przy zerowej konfiguracji wywołuje Ed25519PasswordAuth.hash() przez Authentication.validateFingerPrint, ale Ed25519PasswordAuth.hash() odwołuje się do identyfikatora seed, który nie jest w zakresie. W określonych warunkach (serwer MariaDB przez TCP, TLS z ssl: true lub obiektem ssl z rejectUnauthorized nie równym false, ustawione hasło, brak ssl.ca, negocjowany plugin client_ed25519) może wystąpić synchroniczny ReferenceError, który w domyślnym zachowaniu Node.js powoduje zakończenie procesu klienta (odmowa usługi). Problem został naprawiony w wersji 3.5.4.
- CVE-2026-55855Średnie
MariaDB Connector/Node.js przed wersjami 3.2.4, 3.3.3, 3.4.6 i 3.5.3 pozwala na wstrzyknięcie SQL, gdy kontrolowane przez atakującego parametry Buffer są escapowane po stronie klienta przy zestawach znaków big5, gbk, sjis, cp932 lub gb18030. PacketOutputStream.writeBufferEscape w lib/io/packet-output-stream.js escapował bajty bez uwzględnienia logiki charset-aware getMbRecognizer z lib/misc/charset-mb.js. Serwerowy lekser SQL uruchamia my_ismbchar przed przetwarzaniem escapowania, więc kontrolowany bajt może skonsumować wstawiony backslash 0x5C jako bajt wielobajtowy i pozostawić następujący cudzysłów 0x27 nieescapowany, kończąc literał łańcuchowy i pozwalając na dowolne SQL. Domyślny zestaw utf8mb4 i parametry wysyłane przez ścieżkę execute binary prepared-statement nie są podatne.
- CVE-2026-55854Średnie
MariaDB Connector/Node.js przed wersjami 3.2.4, 3.3.3, 3.4.6 i 3.5.3 może ujawnić hasło konta, gdy uwierzytelnianie PAM dialog jest negocjowane przez niezabezpieczony transport. W lib/cmd/handshake/auth/pam-password-auth.js i lib/cmd/handshake/authentication.js, zachowanie SendPamAuthPacketFactory dla pluginu dialog po stronie serwera nie miało zabezpieczenia bezpiecznego transportu zastosowanego do mysql_clear_password. Przy domyślnych ustawieniach sslMode=DISABLE i restrictedAuth=null, wrogi lub on-path serwer może wysłać Authentication Switch Request dla dialog przez zwykłe TCP, powodując, że sterownik zwróci hasło konta w postaci jawnego tekstu. Poprawnie zweryfikowane TLS i lokalny gniazdo Unix zapobiegają tej ścieżce, podczas gdy walidacja tożsamości serwera tylko na podstawie odcisku palca nie jest wystarczająca.
Oryginalny opis (angielski, źródło NVD)
MariaDB Connector/Node.js is used to connect applications developed on Node.js to MariaDB and MySQL databases. Prior to versions 3.3.3, 3.4.6, and 3.5.3, when ssl is enabled without a pinned CA or server certificate, MariaDB Connector/Node.js sends credentials before completing certificate fingerprint validation. In lib/cmd/handshake/auth/handshake.js, a server that selects mysql_clear_password as the initial authentication plugin can receive the password before the post-TLS identity check. In lib/cmd/handshake/authentication.js, an authentication switch can evaluate the previous plugin instead of the requested target plugin, allowing mysql_clear_password to send the credential first. An active man-in-the-middle can present a self-signed certificate, capture the database password, and use it to authenticate directly even though the connector later rejects the server and closes the connection. This issue is fixed in versions 3.3.3, 3.4.6, and 3.5.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

