mariadb
Ecosystem: npm
Downloads: 3.85 Mln
- 0CriticalAffects 0 versions
- 5HighAffects 17 versions
- 0MediumAffects 0 versions
- 3ModerateAffects 9 versions
- 0LowAffects 0 versions
- Critical0 (0.0%)
- High5 (62.5%)
- Medium0 (0.0%)
- Moderate3 (37.5%)
- Low0 (0.0%)
Monthly breakdown
- Critical
- High
- Medium
- Moderate
- Low
- 4 vulnerabilities
- Critical: 0
- High: 3
- Medium: 0
- Moderate: 1
- Low: 0
- 3 vulnerabilities
- Critical: 0
- High: 1
- Medium: 0
- Moderate: 2
- Low: 0
- 1 vulnerabilities
- Critical: 0
- High: 1
- Medium: 0
- Moderate: 0
- Low: 0
Vulnerabilities (8)
Known vulnerabilities affecting mariadb, based on data from OSV.
| ID | Severity | Summary | Affected versions | Published | Source |
|---|---|---|---|---|---|
| GHSA-48qf-xh34-q73r | High | MariaDB Connector/Node.js exposes uninitialized process memory through malformed GeoJSON parameters### Description When encoding a GeoJSON Polygon or MultiPolygon parameter for the binary protocol, the connector sized its output buffer from the length property of each ring, then wrote each ring only if it was a real array. The two loops disagreed: any non-array ring carrying a numeric length (a string, or an object such as {"length": 4000}) still reserved 4 + 16 * length bytes, but wrote none of them. The buffer came from Buffer.allocUnsafe() and was returned in full regardless of how far the write position had advanced, so every reserved-but-unwritten byte was uninitialized Node.js heap. |
| GitHub (opens in a new tab) | |
| GHSA-cx2f-j9fh-8g68 | Moderate | MariaDB Connector/Node.js: Uncaught exception crashes the client during ed25519 authentication with zero-configuration TLS### Description On the zero-configuration TLS path, the connector accepts a self-signed server certificate at the TLS level and then validates the server's identity from the fingerprint hash the server appends to the final OK_Packet (`Authentication.validateFingerPrint`). That validation calls `hash()` on the authentication plugin in use to obtain the password-derived secret both sides combine with the seed and the certificate fingerprint. `Ed25519PasswordAuth.hash()` referenced an identifier `seed` that was not in scope: it was neither a parameter of the method nor a module-scope binding, ex |
| GitHub (opens in a new tab) | |
| GHSA-r3rv-jm3r-62q2 | High | MariaDB Connector/Node.js: SQL injection in the text protocol when the session uses NO_BACKSLASH_ESCAPES### Description When escaping string and binary parameters for the text protocol, the connector always escaped the quote character with a backslash, without ever consulting the session's NO_BACKSLASH_ESCAPES SQL mode. The server status flag was declared (STATUS_NO_BACKSLASH_ESCAPES) but never read. Under a server or session running with NO_BACKSLASH_ESCAPES, the backslash is an ordinary character and the quote must be escaped by doubling it. The escaped value produced by the connector therefore closed the string literal, and a value passed through a placeholder was interpreted as SQL. All te |
| GitHub (opens in a new tab) | |
| GHSA-v6pj-gxxw-phfw | High | MariaDB Connector/Node.js: SQL injection through object keys in SET expansion (permitSetMultiParamEntries)### Description With the non-default permitSetMultiParamEntries option enabled, an object passed as a query parameter is expanded into a SET clause, each key becoming a column name. The three code paths implementing that expansion built the backtick-quoted identifier by hand and wrote the key out unescaped, while only the value was escaped. A key containing a backtick therefore closed the identifier, and the remainder of the key was parsed as SQL. The connector's own identifier escaper (escapeId, which correctly doubles backticks) existed but was not called from any of the three sites. This i |
| GitHub (opens in a new tab) | |
| GHSA-42r5-vhpq-m858 | Moderate | MariaDB has Cleartext Transmission of Sensitive Information and Insufficiently Protected Credentials### Summary When PAM (dialog) authentication is used, the connector can be coerced into sending the account password in cleartext over an insecure connection. A hostile or man-in-the-middle server can trigger this with the default configuration, disclosing the user's password. ### Details The mysql_clear_password plugin is gated behind a secure connection: the driver refuses to transmit the password in cleartext over plain TCP. The sibling PAM plugin handler (SendPamAuthPacketFactory, server-side plugin name dialog) did not override that gate and inherited the default value false, so it was |
| GitHub (opens in a new tab) | |
| GHSA-cqhc-2h57-wpxf | High | MariaDB's connector leaks the cleartext password to an MitM despite `ssl: true`### Summary When SSL/TLS is enabled but no CA / server certificate is provided, the connector verifies the server's identity using fingerprint validation. The check is effective, the connection is ultimately rejected when it fails, but it happens *after* the authentication exchange. As a result, the credentials are sent before validation occurs, so an active man-in-the-middle who presents their own certificate receives the password in the handshake before the connection is aborted. ### Impact The credentials are transmitted to the peer before the server's identity is validated. An on-path a |
| GitHub (opens in a new tab) | |
| GHSA-g5xc-5w98-jfvm | Moderate | MariaDB has possible SQL injection in Buffer parameter escaping under big5/gbk/sjis/cp932/gb18030 client charsets### Summary A SQL injection is possible when the connector escapes Buffer parameters client-side under a multi-byte client character set whose trail-byte range overlaps the ASCII backslash (0x5C): big5, gbk, sjis, cp932, and gb18030. Under these charsets, an attacker-controlled lead byte can absorb the escape byte the connector inserts, leaving the following quote unescaped so it terminates the string literal and injected SQL is parsed. ### Details When binding a Buffer (binary) parameter, the connector escapes the value byte-by-byte, inserting a backslash (0x5C) before quote (0x27) and bac |
| GitHub (opens in a new tab) | |
| GHSA-85fq-56wq-gmcf | High | Withdrawn Advisory: mariadb was malware# Withdrawn Advisory This advisory has been withdrawn because MariaDB now owns https://www.npmjs.com/package/mariadb and the package is no longer malicious. This link is maintained to preserve external references. # Original Description The `mariadb` package is a piece of malware that steals environment variables and sends them to attacker controlled locations. All versions have been unpublished from the npm registry. ## Recommendation As this package is malware, if you find it installed in your environment, the real security concern is determining how it got there. If you have found |
| GitHub (opens in a new tab) |
- GHSA-48qf-xh34-q73rHighMariaDB Connector/Node.js exposes uninitialized process memory through malformed GeoJSON parameters
< 3.2.5>= 3.3.0, < 3.3.4- +2 more
Affected versions:< 3.2.5>= 3.3.0, < 3.3.4>= 3.4.0, < 3.4.7>= 3.5.0-rc.0, < 3.5.4
### Description When encoding a GeoJSON Polygon or MultiPolygon parameter for the binary protocol, the connector sized its output buffer from the length property of each ring, then wrote each ring only if it was a real array. The two loops disagreed: any non-array ring carrying a numeric length (a string, or an object such as {"length": 4000}) still reserved 4 + 16 * length bytes, but wrote none of them. The buffer came from Buffer.allocUnsafe() and was returned in full regardless of how far the write position had advanced, so every reserved-but-unwritten byte was uninitialized Node.js heap.
CVE: CVE-2026-107383
- GHSA-cx2f-j9fh-8g68ModerateMariaDB Connector/Node.js: Uncaught exception crashes the client during ed25519 authentication with zero-configuration TLS
>= 3.3.0, < 3.5.4
### Description On the zero-configuration TLS path, the connector accepts a self-signed server certificate at the TLS level and then validates the server's identity from the fingerprint hash the server appends to the final OK_Packet (`Authentication.validateFingerPrint`). That validation calls `hash()` on the authentication plugin in use to obtain the password-derived secret both sides combine with the seed and the certificate fingerprint. `Ed25519PasswordAuth.hash()` referenced an identifier `seed` that was not in scope: it was neither a parameter of the method nor a module-scope binding, ex
CVE: CVE-2026-107382
- GHSA-r3rv-jm3r-62q2HighMariaDB Connector/Node.js: SQL injection in the text protocol when the session uses NO_BACKSLASH_ESCAPES
< 3.2.5>= 3.3.0, < 3.3.4- +2 more
Affected versions:< 3.2.5>= 3.3.0, < 3.3.4>= 3.4.0, < 3.4.7>= 3.5.0-rc.0, < 3.5.4
### Description When escaping string and binary parameters for the text protocol, the connector always escaped the quote character with a backslash, without ever consulting the session's NO_BACKSLASH_ESCAPES SQL mode. The server status flag was declared (STATUS_NO_BACKSLASH_ESCAPES) but never read. Under a server or session running with NO_BACKSLASH_ESCAPES, the backslash is an ordinary character and the quote must be escaped by doubling it. The escaped value produced by the connector therefore closed the string literal, and a value passed through a placeholder was interpreted as SQL. All te
CVE: CVE-2026-107385
- GHSA-v6pj-gxxw-phfwHighMariaDB Connector/Node.js: SQL injection through object keys in SET expansion (permitSetMultiParamEntries)
>= 3.2.0, < 3.2.5>= 3.3.0, < 3.3.4- +2 more
Affected versions:>= 3.2.0, < 3.2.5>= 3.3.0, < 3.3.4>= 3.4.0, < 3.4.7>= 3.5.0-rc.0, < 3.5.4
### Description With the non-default permitSetMultiParamEntries option enabled, an object passed as a query parameter is expanded into a SET clause, each key becoming a column name. The three code paths implementing that expansion built the backtick-quoted identifier by hand and wrote the key out unescaped, while only the value was escaped. A key containing a backtick therefore closed the identifier, and the remainder of the key was parsed as SQL. The connector's own identifier escaper (escapeId, which correctly doubles backticks) existed but was not called from any of the three sites. This i
CVE: CVE-2026-107384
- GHSA-42r5-vhpq-m858ModerateMariaDB has Cleartext Transmission of Sensitive Information and Insufficiently Protected Credentials
< 3.2.4>= 3.3.0, < 3.3.3- +2 more
Affected versions:< 3.2.4>= 3.3.0, < 3.3.3>= 3.4.0, < 3.4.6>= 3.5.0, < 3.5.3
### Summary When PAM (dialog) authentication is used, the connector can be coerced into sending the account password in cleartext over an insecure connection. A hostile or man-in-the-middle server can trigger this with the default configuration, disclosing the user's password. ### Details The mysql_clear_password plugin is gated behind a secure connection: the driver refuses to transmit the password in cleartext over plain TCP. The sibling PAM plugin handler (SendPamAuthPacketFactory, server-side plugin name dialog) did not override that gate and inherited the default value false, so it was
CVE: CVE-2026-55854
- GHSA-cqhc-2h57-wpxfHighMariaDB's connector leaks the cleartext password to an MitM despite `ssl: true`
< 3.2.4>= 3.3.0, < 3.3.3- +2 more
Affected versions:< 3.2.4>= 3.3.0, < 3.3.3>= 3.4.0, < 3.4.6>= 3.5.0, < 3.5.3
### Summary When SSL/TLS is enabled but no CA / server certificate is provided, the connector verifies the server's identity using fingerprint validation. The check is effective, the connection is ultimately rejected when it fails, but it happens *after* the authentication exchange. As a result, the credentials are sent before validation occurs, so an active man-in-the-middle who presents their own certificate receives the password in the handshake before the connection is aborted. ### Impact The credentials are transmitted to the peer before the server's identity is validated. An on-path a
CVE: CVE-2026-55215
- GHSA-g5xc-5w98-jfvmModerateMariaDB has possible SQL injection in Buffer parameter escaping under big5/gbk/sjis/cp932/gb18030 client charsets
< 3.2.4>= 3.3.0, < 3.3.4- +2 more
Affected versions:< 3.2.4>= 3.3.0, < 3.3.4>= 3.4.0, < 3.4.6>= 3.5.0, < 3.5.3
### Summary A SQL injection is possible when the connector escapes Buffer parameters client-side under a multi-byte client character set whose trail-byte range overlaps the ASCII backslash (0x5C): big5, gbk, sjis, cp932, and gb18030. Under these charsets, an attacker-controlled lead byte can absorb the escape byte the connector inserts, leaving the following quote unescaped so it terminates the string literal and injected SQL is parsed. ### Details When binding a Buffer (binary) parameter, the connector escapes the value byte-by-byte, inserting a backslash (0x5C) before quote (0x27) and bac
CVE: CVE-2026-55855
# Withdrawn Advisory This advisory has been withdrawn because MariaDB now owns https://www.npmjs.com/package/mariadb and the package is no longer malicious. This link is maintained to preserve external references. # Original Description The `mariadb` package is a piece of malware that steals environment variables and sends them to attacker controlled locations. All versions have been unpublished from the npm registry. ## Recommendation As this package is malware, if you find it installed in your environment, the real security concern is determining how it got there. If you have found
CVE: CVE-2017-16046