Skip to content
Heist/ feed
Back to feed
High

MariaDB Connector/Node.js: Connector leaks the cleartext password to an MitM despite `ssl: true`

Type: advisorySources: OSV

MariaDB Connector/Node.js is used to connect applications developed on Node.js to MariaDB and MySQL databases. Prior to versions 3.3.3, 3.4.6, and 3.5.3, when ssl is enabled without a pinned CA or server certificate, MariaDB Connector/Node.js sends credentials before completing certificate fingerprint validation. In lib/cmd/handshake/auth/handshake.js, a server that selects mysql_clear_password as the initial authentication plugin can receive the password before the post-TLS identity check. In lib/cmd/handshake/authentication.js, an authentication switch can evaluate the previous plugin instead of the requested target plugin, allowing mysql_clear_password to send the credential first. An active man-in-the-middle can present a self-signed certificate, capture the database password, and use it to authenticate directly even though the connector later rejects the server and closes the connection. This issue is fixed in versions 3.3.3, 3.4.6, and 3.5.3.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-55215
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 21:09 UTC · Revision 1

Source evidence

MariaDB Connector/Node.js: Connector leaks the cleartext password to an MitM despite `ssl: true`

core-osv · Original source

Published 28 Aug 2026, 19:02 UTC

MariaDB Connector/Node.js is used to connect applications developed on Node.js to MariaDB and MySQL databases. Prior to versions 3.3.3, 3.4.6, and 3.5.3, when ssl is enabled without a pinned CA or server certificate, MariaDB Connector/Node.js sends credentials before completing certificate fingerprint validation. In lib/cmd/handshake/auth/handshake.js, a server that selects mysql_clear_password as the initial authentication plugin can receive the password before the post-TLS identity check. In lib/cmd/handshake/authentication.js, an authentication switch can evaluate the previous plugin instead of the requested target plugin, allowing mysql_clear_password to send the credential first. An active man-in-the-middle can present a self-signed certificate, capture the database password, and use it to authenticate directly even though the connector later rejects the server and closes the connection. This issue is fixed in versions 3.3.3, 3.4.6, and 3.5.3.

osv:CVE-2026-55215
Complete source record
{
  "id": "a88e3b0abc8d271fa40219c79f19e5a26ded75b6d28c345a038a0c70b82bc4ad",
  "url": "https://osv.dev/vulnerability/CVE-2026-55215",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "MariaDB Connector/Node.js: Connector leaks the cleartext password to an MitM despite `ssl: true`",
    "summary": "MariaDB Connector/Node.js is used to connect applications developed on Node.js to MariaDB and MySQL databases. Prior to versions 3.3.3, 3.4.6, and 3.5.3, when ssl is enabled without a pinned CA or server certificate, MariaDB Connector/Node.js sends credentials before completing certificate fingerprint validation. In lib/cmd/handshake/auth/handshake.js, a server that selects mysql_clear_password as the initial authentication plugin can receive the password before the post-TLS identity check. In lib/cmd/handshake/authentication.js, an authentication switch can evaluate the previous plugin instead of the requested target plugin, allowing mysql_clear_password to send the credential first. An active man-in-the-middle can present a self-signed certificate, capture the database password, and use it to authenticate directly even though the connector later rejects the server and closes the connection. This issue is fixed in versions 3.3.3, 3.4.6, and 3.5.3.",
    "evidence": "osv:CVE-2026-55215",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-55215",
      "aliases": [
        "BIT-mariadb-2026-55215",
        "BIT-mariadb-min-2026-55215",
        "BIT-mysql-client-2026-55215",
        "CVE-2026-55215",
        "GHSA-cqhc-2h57-wpxf"
      ],
      "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": "e0064ca9171b0046ad4be1a1dc1771e7dd0bcd96"
                },
                {
                  "fixed": "514576a5a1fab3ea8498613e259a0b7a764e7302"
                },
                {
                  "fixed": "c47d7275835c78c7eb8186cd23e9d57c045c128b"
                },
                {
                  "fixed": "ecd36958e6e3bf0e0fa8389546f50c0ed6dbb2ac"
                },
                {
                  "fixed": "07e6f631a6052649b72e9aa024583d305ac7611d"
                },
                {
                  "fixed": "1d50f7210af2e01bf90b155e073f041952901839"
                },
                {
                  "fixed": "14e0f16bd78584b3b24db33c1c6e62e3a3d241a2"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.2.4"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "514576a5a1fab3ea8498613e259a0b7a764e7302"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c47d7275835c78c7eb8186cd23e9d57c045c128b"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "ecd36958e6e3bf0e0fa8389546f50c0ed6dbb2ac"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "07e6f631a6052649b72e9aa024583d305ac7611d"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "3.3.3"
                  },
                  {
                    "range": [
                      {
                        "fixed": "1d50f7210af2e01bf90b155e073f041952901839"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "3.4.6"
                  },
                  {
                    "range": [
                      {
                        "fixed": "14e0f16bd78584b3b24db33c1c6e62e3a3d241a2"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "3.5.3"
                  }
                ]
              }
            }
          ],
          "versions": [
            "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-55215.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:23.691517144Z",
      "provider": "osv",
      "references": [
        "https://github.com/mariadb-corporation/mariadb-connector-nodejs/releases/tag/3.3.3",
        "https://github.com/mariadb-corporation/mariadb-connector-nodejs/releases/tag/3.4.6",
        "https://github.com/mariadb-corporation/mariadb-connector-nodejs/releases/tag/3.5.3",
        "https://hackerone.com/reports/3777370",
        "https://jira.mariadb.org/browse/CONJS-349",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55215.json",
        "https://github.com/mariadb-corporation/mariadb-connector-nodejs/security/advisories/GHSA-cqhc-2h57-wpxf",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-55215",
        "https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/514576a5a1fab3ea8498613e259a0b7a764e7302",
        "https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/c47d7275835c78c7eb8186cd23e9d57c045c128b",
        "https://github.com/mariadb-corporation/mariadb-connector-nodejs/commit/ecd36958e6e3bf0e0fa8389546f50c0ed6dbb2ac"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-295",
          "CWE-522"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55215.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-55215",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 490096,
  "published_at": "2026-08-28T19:02:49.413+00:00"
}