Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain network MITM position on client-server TCP
-
DeliveryPresent self-signed TLS certificate to client
-
ExploitTrigger fingerprint-validation path calling hash()
-
ExecutionReferenceError escapes socket data handler
-
ImpactUncaught exception terminates Node.js client process
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Exception handling completeness
|
| Exploitation Conditions | Exploitable only against mariadb-connector-nodejs 3.3.0 through 3.5.3 when ALL of the following hold simultaneously: the client connects to a MariaDB/MySQL server over TCP (not a Unix socket); TLS is enabled via ssl: true or an ssl object whose rejectUnauthorized is not false; a password is configured; no ssl.ca is provided (so the zero-configuration TLS fingerprint-validation path is used); and client_ed25519 is negotiated as the authentication plugin. Under these conditions, any server or network attacker presenting a self-signed certificate reaches the vulnerable code. Exploitation is LIMITED/prevented by: supplying an explicit ssl.ca, setting rejectUnauthorized: false, using any authentication plugin other than client_ed25519, or connecting over a Unix socket - each of these avoids the vulnerable path entirely. |
| Impact | This is a genuine but moderate-priority issue rather than a high-impact emergency. The CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H, base 5.9 Medium) is internally consistent with the description: network-reachable and unauthenticated, but high complexity because exploitation requires a specific TLS zero-configuration deployment (ssl enabled without a CA, password set, client_ed25519 negotiated) plus the attacker presenting a self-signed certificate. Impact is availability-only (A:H) - a client-side process crash via an uncaught ReferenceError (CWE-248); there is no confidentiality or integrity impact and no code execution. No EPSS score was provided and the vulnerability is not listed in CISA KEV, so there is no evidence of active or widespread exploitation. No explicit POC flag was supplied; the only reproduction artifact is the vendor's own regression test in the fix commit, which demonstrates the bug is trivially triggerable once the preconditions hold but is not weaponized exploit code. Note the crash can also be triggered by a legitimate but misconfigured server presenting a self-signed cert, so some real-world occurrences will be accidental rather than adversarial. Overall: a real client-side DoS worth patching in affected deployments, but the narrow configuration preconditions and availability-only impact keep real risk well below the headline 'network/unauthenticated' framing. |
| Exploit ScenarioDerived | A Node.js application uses mariadb-connector-nodejs (3.3.0-3.5.3) with zero-configuration TLS (ssl: true or an ssl object without rejectUnauthorized:false), a password, no ssl.ca, and ed25519 authentication. A network man-in-the-middle attacker - or a malicious/misconfigured server - presents a self-signed certificate, forcing the client onto the fingerprint-validation path that calls Ed25519PasswordAuth.hash(), which references an out-of-scope seed identifier and throws a synchronous ReferenceError. The exception escapes the socket data handler, and under Node.js default uncaught-exception behavior the client process terminates, causing denial of service. No public weaponized exploit is identified, but the vendor's regression test shows the condition is trivially reproducible. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 08, 2026
Denial of service in MariaDB Connector/Node.js versions 3.3.0 through 3.5.3 occurs when a Node.js application connects over TCP to a MariaDB or MySQL server with TLS enabled in the zero-configuration mode (ssl: true, or an ssl object whose rejectUnauthorized is not false, and no ssl.ca supplied) while client_ed25519 is negotiated as the authentication plugin and a password is configured. Under those conditions, any server or network attacker presenting a self-signed certificate drives the connector into a code path that throws an uncaught ReferenceError from the socket data handler; because Node.js terminates the process on an uncaught exception by default, the client application crashes, resulting in a remote denial of service. The issue is rated moderate (CVSS 5.9, AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H), is not confirmed as actively exploited (CISA KEV) and no public exploit code has been identified at time of analysis; the requirement for a specific combination of TLS, CA, and authentication-plugin settings places meaningful constraints on exploitability, and the vendor-released patch is version 3.5.4.
RemediationAI
Upgrade MariaDB Connector/Node.js to version 3.5.4, the vendor-released patch that removes the out-of-scope seed reference and adds a self-signed-certificate regression test for the ed25519 path; the fix commit is 784ca3d757194a05f202d84b0c762321e76a7915 and the release is published at https://github.com/mariadb-corporation/mariadb-connector-nodejs/releases/tag/3.5.4, with full details in GHSA-cx2f-j9fh-8g68. If an immediate upgrade is not possible, break any one of the conditions required to reach the vulnerable path: supply an explicit trusted CA via the ssl.ca option so the zero-configuration fingerprint-validation path is never used (the most robust workaround, since it preserves certificate validation); switch the account away from client_ed25519 to another authentication plugin such as native password or caching_sha2_password, accepting that this changes credential handling on the server and may not be feasible for all deployments; or connect over a Unix domain socket instead of TCP, which is effective but limits the client to local or shared-host deployments. Setting rejectUnauthorized: false also avoids the crash because the vulnerable validation path is skipped, but this disables certificate verification entirely and exposes the connection to man-in-the-middle attacks, so it should be treated only as a temporary, untrusted-network-unsuitable stopgap and not as a fix. Because the defect is an uncaught exception inside a socket data handler, an application-level process supervisor that restarts crashed Node.js workers will restore availability but will not prevent the repeated denial of service.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is an uncaught-exception defect (CWE-248) inside lib/cmd/handshake/auth/ed25519-password-auth.js. The MariaDB ed25519 authentication plugin derives its shared secret from the user's password by computing SHA-512 of the password and clamping the result per RFC 8032; the server stores the corresponding base64-encoded Ed25519 public key, and the client combines that key material with the server seed and the certificate fingerprint to prove possession of the password when validating a self-signed certificate. In the affected releases, the zero-configuration TLS fingerprint-validation path (Authentication.validateFingerPrint) invokes Ed25519PasswordAuth.hash(), and that method references a seed parameter that is not in its own scope, producing a synchronous ReferenceError. Because the throw happens inside the socket data event handler, Node.js treats it as an uncaught exception and aborts the process under default behavior. The upstream fix (commit 784ca3d757194a05f202d84b0c762321e76a7915) refactors the implementation into two helpers - privateScalar(password) and publicKey(d) - so that hash() returns publicKey(privateScalar(conf.password)) with no dangling identifier, and adds both an integration test for the self-signed-certificate/ed25519 combination and a unit test (ed25519-hash.test.js) covering the corrected hash derivation. The affected package is identified by the CPE cpe:2.3:a:mariadb-corporation:mariadb-connector-nodejs:*:*:*:*:*:*:*:* with the vulnerable range limited to 3.3.0 through 3.5.3; the crash path requires client_ed25519 to be the negotiated authentication plugin, so servers configured with native password, caching_sha2_password, or other plugins, and clients using an explicit CA, rejectUnauthorized: false, or a Unix socket, never reach the faulty method.
Know when Node.js gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Network-reachable and pre-auth (PR:N, crash occurs during TLS handshake), but AC:H due to required zero-config TLS + ed25519 deployment and self-signed cert presentation; availability-only (A:H).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
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.
Blast Radius
ecosystem impact- 4 npm packages depend on mariadb (3 direct, 1 indirect)
Ecosystem-wide dependent count for version 3.3.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
EUVD-2026-95141
GHSA-cx2f-j9fh-8g68
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB