CVE-2026-107385
WysokieCVSS 7.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 36 - wyżej niż 36% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może zamknąć literał łańcucha SQL i wstrzyknąć dowolny SQL z uprawnieniami aplikacji, co może prowadzić do naruszenia danych lub eskalacji uprawnień.
Rekomendacja
Zaktualizuj MariaDB Connector/Node.js do wersji 3.2.5, 3.3.4, 3.4.7 lub 3.5.4. Upewnij się, że tryb NO_BACKSLASH_ESCAPES jest obsługiwany poprawnie.
Inne podatności w MariaDB Connector/Node.js
Zobacz wszystkie- 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.
- 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.5, 3.3.4, 3.4.7, and 3.5.4, text-protocol escaping always prefixes quotes with a backslash and does not honor the session's NO_BACKSLASH_ESCAPES mode, including in Connection.escape(). When that mode is enabled, the backslash is an ordinary character, so an attacker-controlled placeholder value can close the SQL string literal and inject arbitrary SQL with the application's database privileges. The vulnerable configuration may be enabled server-wide, through connector initialization options, or with an application-issued SET sql_mode; execute() and batch() use binary protocols and are not affected. This issue is fixed in versions 3.2.5, 3.3.4, 3.4.7, and 3.5.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

