MariaDB Connector/Node.js: Uncaught exception crashes the client during ed25519 authentication with zero-configuration TLS
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.
- Products
- mariadb
- Affected versions
- Not specified
- Fixed versions
- 3.5.4
- CVEs
- CVE-2026-107382
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 20:02 UTC · Revision 1
Source evidence
MariaDB Connector/Node.js: Uncaught exception crashes the client during ed25519 authentication with zero-configuration TLS
core-osv · Original sourcePublished 16 Oct 2026, 08:41 UTC
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.
osv:BIT-mariadb-2026-107382
mariadb
Fixed versions: 3.5.4
Complete source record
{
"id": "3c87bc08f13937553a542a6c5652c8fb728caffa5b3195fd699ed5214c411454",
"url": "https://osv.dev/vulnerability/BIT-mariadb-2026-107382",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "MariaDB Connector/Node.js: Uncaught exception crashes the client during ed25519 authentication with zero-configuration TLS",
"summary": "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.",
"evidence": "osv:BIT-mariadb-2026-107382",
"products": [
{
"name": {
"value": "mariadb",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.5.4",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "medium",
"structured": {
"id": "BIT-mariadb-2026-107382",
"aliases": [
"BIT-mariadb-2026-107382",
"BIT-mariadb-min-2026-107382",
"BIT-mysql-client-2026-107382",
"CVE-2026-107382",
"GHSA-cx2f-j9fh-8g68"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "3.3.0"
},
{
"fixed": "3.5.4"
}
]
}
],
"package": {
"name": "mariadb",
"purl": "pkg:bitnami/mariadb",
"ecosystem": "Bitnami"
},
"severity": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"database_specific": {
"source": "https://github.com/bitnami/vulndb/tree/main/data/mariadb/BIT-mariadb-2026-107382.json"
}
}
],
"modified": "2026-10-16T09:56:02.258409116Z",
"provider": "osv",
"references": [
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/784ca3d757194a05f202d84b0c762321e76a7915",
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/releases/tag/3.5.4",
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/security/advisories/GHSA-cx2f-j9fh-8g68",
"https://hackerone.com/reports/3835450",
"https://jira.mariadb.org/browse/CONJS-356",
"https://nvd.nist.gov/vuln/detail/CVE-2026-107382"
],
"provider_metadata": {
"cpes": [
"cpe:2.3:a:mariadb:mariadb:*:*:*:*:*:node.js:*:*"
],
"severity": "Medium"
}
},
"related_cves": [
{
"value": "CVE-2026-107382",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/database_specific/severity"
},
"source_id": "core-osv",
"document_id": 338736,
"published_at": "2026-10-16T08:41:48.791+00:00"
}