CVE-2026-107383
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 31 - wyżej niż 31% 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. 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.
Ocena ryzyka
Ujawnione dane mogą zawierać treści innych użytkowników, materiały sesji, poświadczenia bazy danych lub klucze TLS, które mogą być zapisane w bazie i propagowane do kopii zapasowych i replik.
Rekomendacja
Zaktualizuj MariaDB Connector/Node.js do wersji 3.2.5, 3.3.4, 3.4.7 lub 3.5.4. Unikaj przetwarzania niezaufanych danych GeoJSON.
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-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, the GeoJSON Polygon and MultiPolygon binary encoders size a Buffer.allocUnsafe() allocation from each ring's numeric length before confirming that the ring is an array. A malformed non-array ring can therefore reserve bytes that the writing loop skips, and the connector sends the full buffer through execute() or batch(), disclosing uninitialized Node.js heap data into a database value. The persisted data can include other users' content, session material, database credentials, or TLS key material and may propagate to backups and replicas. The text-protocol query() path is 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

