MariaDB Connector/Node.js exposes uninitialized process memory through malformed GeoJSON parameters
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-107383
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 16:51 UTC · Revision 1
Source evidence
MariaDB Connector/Node.js exposes uninitialized process memory through malformed GeoJSON parameters
core-osv · Original sourcePublished 8 Oct 2026, 18:27 UTC
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.
osv:CVE-2026-107383
Complete source record
{
"id": "62320dbab8f9ca3bd0670a2ce7fad2959aeb277688457bcb445d4ef9ca9c1971",
"url": "https://osv.dev/vulnerability/CVE-2026-107383",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "MariaDB Connector/Node.js exposes uninitialized process memory through malformed GeoJSON parameters",
"summary": "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.",
"evidence": "osv:CVE-2026-107383",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-107383",
"aliases": [
"BIT-mariadb-2026-107383",
"BIT-mariadb-min-2026-107383",
"BIT-mysql-client-2026-107383",
"CVE-2026-107383",
"GHSA-48qf-xh34-q73r"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/mariadb-corporation/mariadb-connector-nodejs",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "d7c1aed221af4bf811e7d13f3e29c2f7484bb0e0"
},
{
"introduced": "b65aca10b77f5ede83f16a8edd0537b2ef12a16f"
},
{
"fixed": "ee9b296894d0c9bcc0e0f6b9ac9316f498eecec4"
},
{
"introduced": "24a58245cba201da91f41f7f96f8dd165d31c6c7"
},
{
"fixed": "67c931b7407fc4e460aab020e7cb53bcb1c62e50"
},
{
"introduced": "07d0183bbcf61a9cd9a5b39a74a67d676e83b4d8"
},
{
"fixed": "ff43a2c80ebba9e6590afd6b9cc08ac0a290892a"
},
{
"fixed": "2314c03b785db482599d2befd06f4992e5fc46b3"
},
{
"fixed": "a4aa048b57dc47309b80e5cc25a4a8eedb32fd9f"
},
{
"fixed": "b2ca628864b0fc2e3e94ea96910f6b693ad5bd30"
},
{
"fixed": "faa27d1b2b7753a54000f586d5148089b60d1284"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "3.2.5"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "3.3.0"
},
{
"fixed": "3.3.4"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "3.4.0"
},
{
"fixed": "3.4.7"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "3.5.0-rc.0"
},
{
"fixed": "3.5.4"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "2314c03b785db482599d2befd06f4992e5fc46b3"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "a4aa048b57dc47309b80e5cc25a4a8eedb32fd9f"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "b2ca628864b0fc2e3e94ea96910f6b693ad5bd30"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "faa27d1b2b7753a54000f586d5148089b60d1284"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "d7c1aed221af4bf811e7d13f3e29c2f7484bb0e0"
}
],
"source": "REFERENCES_TAG",
"original_tag": "3.2.5"
},
{
"range": [
{
"fixed": "ee9b296894d0c9bcc0e0f6b9ac9316f498eecec4"
}
],
"source": "REFERENCES_TAG",
"original_tag": "3.3.4"
},
{
"range": [
{
"fixed": "67c931b7407fc4e460aab020e7cb53bcb1c62e50"
}
],
"source": "REFERENCES_TAG",
"original_tag": "3.4.7"
},
{
"range": [
{
"fixed": "ff43a2c80ebba9e6590afd6b9cc08ac0a290892a"
}
],
"source": "REFERENCES_TAG",
"original_tag": "3.5.4"
}
]
}
}
],
"versions": [
"3.2.4",
"3.3.3",
"3.4.6",
"3.5.2",
"3.5.1",
"3.4.5",
"3.5.0-rc.0",
"3.4.4",
"3.4.3",
"3.3.2",
"3.4.2",
"3.4.1",
"3.2.3",
"3.4.0",
"3.3.1",
"3.3.0",
"3.2.2",
"3.2.1",
"3.2.0",
"3.0.0-ga",
"2.5.6",
"2.5.4",
"2.5.3",
"2.5.2",
"2.5.1",
"2.5.0",
"2.4.2",
"2.4.1",
"2.4.0",
"2.3.0",
"2.2.0",
"2.1.5",
"2.1.4",
"2.1.3",
"2.1.2",
"2.1.1",
"2.1.0",
"2.0.5",
"2.0.3",
"0.7.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-107383.json"
}
}
],
"modified": "2026-10-28T02:30:30.812612367Z",
"provider": "osv",
"references": [
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/releases/tag/3.2.5",
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/releases/tag/3.3.4",
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/releases/tag/3.4.7",
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/releases/tag/3.5.4",
"https://jira.mariadb.org/browse/CONJS-367",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107383.json",
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/security/advisories/GHSA-48qf-xh34-q73r",
"https://nvd.nist.gov/vuln/detail/CVE-2026-107383",
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/2314c03b785db482599d2befd06f4992e5fc46b3",
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/a4aa048b57dc47309b80e5cc25a4a8eedb32fd9f",
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/b2ca628864b0fc2e3e94ea96910f6b693ad5bd30",
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/faa27d1b2b7753a54000f586d5148089b60d1284"
],
"provider_metadata": {
"cwe_ids": [
"CWE-200"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107383.json"
}
},
"related_cves": [
{
"value": "CVE-2026-107383",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 497603,
"published_at": "2026-10-08T18:27:02.543+00:00"
}