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
- mariadb
- Affected versions
- Not specified
- Fixed versions
- 3.2.5, 3.3.4, 3.4.7, 3.5.4
- CVEs
- CVE-2026-107383
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 20:01 UTC · Revision 1
Source evidence
MariaDB Connector/Node.js exposes uninitialized process memory through malformed GeoJSON parameters
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. 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:BIT-mariadb-2026-107383
mariadb
Fixed versions: 3.2.5, 3.3.4, 3.4.7, 3.5.4
Complete source record
{
"id": "ff643128acbce8fe0219ef9765ca13e04c95ab5fd99a61dd7126ab2f96026eb3",
"url": "https://osv.dev/vulnerability/BIT-mariadb-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:BIT-mariadb-2026-107383",
"products": [
{
"name": {
"value": "mariadb",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.2.5",
"evidence": "/affected/0/ranges"
},
{
"value": "3.3.4",
"evidence": "/affected/0/ranges"
},
{
"value": "3.4.7",
"evidence": "/affected/0/ranges"
},
{
"value": "3.5.4",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "BIT-mariadb-2026-107383",
"aliases": [
"BIT-mariadb-2026-107383",
"BIT-mariadb-min-2026-107383",
"BIT-mysql-client-2026-107383",
"CVE-2026-107383",
"GHSA-48qf-xh34-q73r"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.2.5"
},
{
"introduced": "3.3.0"
},
{
"fixed": "3.3.4"
},
{
"introduced": "3.4.0"
},
{
"fixed": "3.4.7"
},
{
"introduced": "3.5.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:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
}
],
"database_specific": {
"source": "https://github.com/bitnami/vulndb/tree/main/data/mariadb/BIT-mariadb-2026-107383.json"
}
}
],
"modified": "2026-10-16T09:55:42.823324858Z",
"provider": "osv",
"references": [
"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",
"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://github.com/mariadb-corporation/mariadb-connector-nodejs/security/advisories/GHSA-48qf-xh34-q73r",
"https://jira.mariadb.org/browse/CONJS-367",
"https://nvd.nist.gov/vuln/detail/CVE-2026-107383"
],
"provider_metadata": {
"cpes": [
"cpe:2.3:a:mariadb:mariadb:*:*:*:*:*:node.js:*:*"
],
"severity": "High"
}
},
"related_cves": [
{
"value": "CVE-2026-107383",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/database_specific/severity"
},
"source_id": "core-osv",
"document_id": 338694,
"published_at": "2026-10-16T08:41:49.993+00:00"
}