CVE-2026-55855
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko wstrzyknięcia SQL, co może prowadzić do ujawnienia lub modyfikacji danych dostępnych dla konta bazy danych.
Rekomendacja
Zaleca się aktualizację do wersji 3.2.4, 3.3.3, 3.4.6 lub 3.5.3, które zawierają poprawkę, oraz unikanie używania podatnych zestawów znaków.
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-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.
- CVE-2026-55215Wysokie
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.
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 3.2.4, 3.3.3, 3.4.6, and 3.5.3, MariaDB Connector/Node.js permits SQL injection when attacker-controlled Buffer parameters are escaped client-side under the big5, gbk, sjis, cp932, or gb18030 client character sets. PacketOutputStream.writeBufferEscape in lib/io/packet-output-stream.js escaped bytes without the charset-aware getMbRecognizer logic in lib/misc/charset-mb.js. The server SQL lexer runs my_ismbchar before escape processing, so an attacker-controlled lead byte can consume the inserted 0x5C backslash as a multibyte trail byte and leave the following 0x27 quote unescaped, terminating the string literal and allowing arbitrary SQL. The default utf8mb4 character set and parameters sent through the execute binary prepared-statement path are not affected. Successful exploitation can expose or modify data available to the database account. This issue is fixed in versions 3.2.4, 3.3.3, 3.4.6, and 3.5.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

