Skip to main content

MariaDB Connector/Node.js EUVDEUVD-2026-95141

| CVE-2026-107382 MEDIUM
Uncaught Exception (CWE-248)
2026-10-08 GitHub_M GHSA-cx2f-j9fh-8g68
5.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain network MITM position on client-server TCP
  2. Delivery
    Present self-signed TLS certificate to client
  3. Exploit
    Trigger fingerprint-validation path calling hash()
  4. Execution
    ReferenceError escapes socket data handler
  5. Impact
    Uncaught 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

mariadb-connector-nodejs 3.3.0, < 3.5.4

Affected Packages

npm mariadb fix: 3.5.4
euvd mariadb_connector_nodejs_3_3_0 fix: 3.5.4

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

Vendor (GitHub_M) PRIMARY 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 5.9 MEDIUM

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).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

1
Patch available
Oct 08, 2026 - 20:03 EUVD

DescriptionCVE.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
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 4 npm packages depend on mariadb (3 direct, 1 indirect)

Ecosystem-wide dependent count for version 3.3.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Medium
popular official MariaDB/MySQL Node.js driver, but not universally deployed
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2025-68613 HIGH POC
8.8 Dec 19

Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

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

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy