MariaDB Connector/Node.js: SQL injection through object keys in SET expansion (permitSetMultiParamEntries)
MariaDB Connector/Node.js is used to connect applications developed on Node.js to MariaDB and MySQL databases. From 3.2.0 until 3.2.5, 3.3.4, 3.4.7, and 3.5.4, applications that enable permitSetMultiParamEntries can pass objects whose keys are expanded into a SQL SET clause without being processed by escapeId. An attacker-controlled key containing a backtick can close the quoted identifier and cause the remainder of the key to be interpreted as SQL. This can update columns the application did not intend to expose and can append arbitrary SQL with the database user's privileges. The option is disabled by default, and serialized-object handling used when it is disabled is not affected. This issue is fixed in versions 3.2.5, 3.3.4, 3.4.7, and 3.5.4.
- Products
- mysql-client
- Affected versions
- Not specified
- Fixed versions
- 3.2.5, 3.3.4, 3.4.7, 3.5.4
- CVEs
- CVE-2026-107384
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 20:02 UTC · Revision 1
Source evidence
MariaDB Connector/Node.js: SQL injection through object keys in SET expansion (permitSetMultiParamEntries)
core-osv · Original sourcePublished 16 Oct 2026, 08:44 UTC
MariaDB Connector/Node.js is used to connect applications developed on Node.js to MariaDB and MySQL databases. From 3.2.0 until 3.2.5, 3.3.4, 3.4.7, and 3.5.4, applications that enable permitSetMultiParamEntries can pass objects whose keys are expanded into a SQL SET clause without being processed by escapeId. An attacker-controlled key containing a backtick can close the quoted identifier and cause the remainder of the key to be interpreted as SQL. This can update columns the application did not intend to expose and can append arbitrary SQL with the database user's privileges. The option is disabled by default, and serialized-object handling used when it is disabled is not affected. This issue is fixed in versions 3.2.5, 3.3.4, 3.4.7, and 3.5.4.
osv:BIT-mysql-client-2026-107384
mysql-client
Fixed versions: 3.2.5, 3.3.4, 3.4.7, 3.5.4
Complete source record
{
"id": "2d3acf4002d67ec2e837733d2a7d817d868bfd20c7274f4aea67e2a9c0400b3d",
"url": "https://osv.dev/vulnerability/BIT-mysql-client-2026-107384",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "MariaDB Connector/Node.js: SQL injection through object keys in SET expansion (permitSetMultiParamEntries)",
"summary": "MariaDB Connector/Node.js is used to connect applications developed on Node.js to MariaDB and MySQL databases. From 3.2.0 until 3.2.5, 3.3.4, 3.4.7, and 3.5.4, applications that enable permitSetMultiParamEntries can pass objects whose keys are expanded into a SQL SET clause without being processed by escapeId. An attacker-controlled key containing a backtick can close the quoted identifier and cause the remainder of the key to be interpreted as SQL. This can update columns the application did not intend to expose and can append arbitrary SQL with the database user's privileges. The option is disabled by default, and serialized-object handling used when it is disabled 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-mysql-client-2026-107384",
"products": [
{
"name": {
"value": "mysql-client",
"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-mysql-client-2026-107384",
"aliases": [
"BIT-mariadb-2026-107384",
"BIT-mariadb-min-2026-107384",
"BIT-mysql-client-2026-107384",
"CVE-2026-107384",
"GHSA-v6pj-gxxw-phfw"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "3.2.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": "mysql-client",
"purl": "pkg:bitnami/mysql-client",
"ecosystem": "Bitnami"
},
"severity": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"database_specific": {
"source": "https://github.com/bitnami/vulndb/tree/main/data/mysql-client/BIT-mysql-client-2026-107384.json"
}
}
],
"modified": "2026-10-16T09:55:54.224043608Z",
"provider": "osv",
"references": [
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/144b8f4ef29539a9fb4b75d972b9dcdac4088b4e",
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/6743b2f4a89b074268b44c650170767f35e1fb5d",
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/8eb450972ff0f3826d7d45c071a42240798bc826",
"https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/b9b04ec82a60b2caf2b0c038259ca9aff5d7014a",
"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-v6pj-gxxw-phfw",
"https://hackerone.com/reports/3889198",
"https://jira.mariadb.org/browse/CONJS-369",
"https://nvd.nist.gov/vuln/detail/CVE-2026-107384"
],
"provider_metadata": {
"cpes": [
"cpe:2.3:a:mariadb:mariadb:*:*:*:*:*:node.js:*:*"
],
"severity": "High"
}
},
"related_cves": [
{
"value": "CVE-2026-107384",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/database_specific/severity"
},
"source_id": "core-osv",
"document_id": 338722,
"published_at": "2026-10-16T08:44:11.515+00:00"
}