CVE-2026-107382
MediumCVSS 5.9Exploitation Probability (EPSS)
Low risk13th percentile - higher than 13% of all known CVEs
Summary
In MariaDB Connector/Node.js from version 3.3.0 to 3.5.4, the zero-configuration TLS fingerprint-validation path calls Ed25519PasswordAuth.hash() through Authentication.validateFingerPrint, but Ed25519PasswordAuth.hash() references a seed identifier that is not in scope. Under specific conditions (TCP connection, TLS enabled with ssl: true or an ssl object with rejectUnauthorized not false, a password set, no ssl.ca configured, and client_ed25519 negotiated), a synchronous ReferenceError can escape the socket data handler, causing the client process to terminate under Node.js default uncaught-exception behavior. This issue is fixed in version 3.5.4.
Risk Assessment
An attacker (server or network attacker) can cause the client process to terminate, leading to denial of service for the application using the library.
Recommendation
Upgrade MariaDB Connector/Node.js to version 3.5.4 or later to remediate the vulnerability.
Other vulnerabilities in MariaDB Connector/Node.js
See all- CVE-2026-107385High
Vulnerability in MariaDB Connector/Node.js before versions 3.2.5, 3.3.4, 3.4.7, and 3.5.4. When using the text protocol, escaping always prefixes quotes with a backslash and does not honor the NO_BACKSLASH_ESCAPES mode, allowing SQL injection via an attacker-controlled value.
- CVE-2026-107384High
Vulnerability in MariaDB Connector/Node.js from 3.2.0 to 3.2.5, 3.3.4, 3.4.7, and 3.5.4. When permitSetMultiParamEntries is enabled, object keys are expanded into a SQL SET clause without being processed by escapeId, allowing SQL injection via a key containing a backtick.
- CVE-2026-107383High
Vulnerability in MariaDB Connector/Node.js before versions 3.2.5, 3.3.4, 3.4.7, and 3.5.4. The GeoJSON Polygon and MultiPolygon binary encoders allocate memory via Buffer.allocUnsafe() based on each ring's numeric length before confirming the ring is an array, potentially disclosing uninitialized Node.js heap data.
- CVE-2026-55855Medium
MariaDB Connector/Node.js prior to versions 3.2.4, 3.3.3, 3.4.6, and 3.5.3 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.
- CVE-2026-55854Medium
MariaDB Connector/Node.js prior to versions 3.2.4, 3.3.3, 3.4.6, and 3.5.3 can disclose an account password when PAM dialog authentication is negotiated over an insecure transport. In lib/cmd/handshake/auth/pam-password-auth.js and lib/cmd/handshake/authentication.js, the SendPamAuthPacketFactory behavior for the server-side plugin dialog lacked the secure-transport gate applied to mysql_clear_password. With the default sslMode=DISABLE and restrictedAuth=null settings, a hostile or on-path server can send an Authentication Switch Request for dialog over plain TCP, causing the connector to return the account password in cleartext. Properly verified TLS and a local Unix socket prevent this path, while fingerprint-only server identity validation is not sufficient.
- CVE-2026-55215High
MariaDB Connector/Node.js before versions 3.3.3, 3.4.6, and 3.5.3, when SSL is enabled without a pinned CA or server certificate, sends credentials before completing certificate fingerprint validation. An active man-in-the-middle can capture the database password.
Original NVD description (English source)
MariaDB Connector/Node.js is used to connect applications developed on Node.js to MariaDB and MySQL databases. From 3.3.0 until 3.5.4, the zero-configuration TLS fingerprint-validation path calls Ed25519PasswordAuth.hash() through Authentication.validateFingerPrint, but Ed25519PasswordAuth.hash() references a seed identifier that is not in scope. Exposure requires a MariaDB server reached over TCP, TLS enabled with ssl: true or an ssl object whose rejectUnauthorized value is not false, a password set, no ssl.ca configured, and client_ed25519 negotiated as the authentication plugin. Under those conditions, a legitimate server, malicious server, or network attacker presenting a self-signed certificate can reach this path and cause a synchronous ReferenceError to escape the socket data handler. Under Node.js default uncaught-exception behavior, the client process terminates, causing denial of service. Configurations using a provided CA, rejectUnauthorized: false, another authentication plugin, or a Unix socket do not reach this vulnerable path. This issue is fixed in version 3.5.4.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

