Skip to content

MySQL proxy sends no password to backend (using password: NO) on MySQL 8.4.10 / Warpgate v0.26.1 #2278

Description

@HenricoSanches

MySQL proxy sends no password to backend (using password: NO) on MySQL 8.4.10 / Warpgate v0.26.1

Environment

  • Warpgate: v0.26.1
  • Docker (ghcr.io/warp-tech/warpgate:latest)
  • Ubuntu 24.04
  • Backend:
    • MySQL Community Server 8.4.10
  • Also reproduced with MySQL 8.0.x
  • Client:
    • MySQL CLI

Target configuration

Authentication:

  • Username: warpgate
  • Password authentication
  • TLS: Disabled

Backend:

  • Host: 192.168.1.175
  • Port: 3306

Client connection

mysql \
-u "admin#MySQL-VM" \
-h <warpgate-ip> \
-P 33306 \
-p \
--ssl-mode=REQUIRED \
--enable-cleartext-plugin

After authenticating successfully against Warpgate, executing:

SELECT VERSION();

results in:

ERROR 2013 (HY000): Lost connection to server during query

Backend MySQL log

The backend MySQL server logs:

Access denied for user 'warpgate'@'<warpgate-ip>' (using password: NO)

This suggests that Warpgate is connecting to the backend without sending a password, even though password authentication is configured.

What I have already verified

Direct connection works

Connecting directly from the Warpgate host to MySQL succeeds:

mysql -h 192.168.1.175 -u warpgate -p

So the following have been verified:

  • ✅ username is correct
  • ✅ password is correct
  • ✅ network connectivity is correct
  • ✅ host permissions are correct
  • ✅ MySQL accepts the credentials normally

Authentication plugin

The backend user uses:

mysql_native_password

SQLite configuration

I inspected Warpgate's SQLite database inside the container.

The target is stored correctly, including the password:

{
  "mysql": {
    "auth": {
      "kind": "password",
      "password": "Warpgate@123"
    },
    "host": "192.168.1.175",
    "port": 3306,
    "username": "warpgate",
    "tls": {
      "mode": "disabled"
    }
  }
}

Therefore, the password is correctly persisted by Warpgate.

Previous errors observed

During troubleshooting I also encountered:

Client does not support authentication protocol requested by server

and earlier:

invalid peer certificate: UnknownIssuer

After disabling TLS on the target, the only remaining error is:

Access denied for user 'warpgate'@'<warpgate-ip>' (using password: NO)

Expected behavior

Warpgate should authenticate successfully to the backend MySQL server using the configured password and proxy the session.

Actual behavior

The backend receives a connection attempt without a password, even though the password is configured and stored correctly.

Question

Is this a known issue with the MySQL proxy in Warpgate v0.26.1?

I'd be happy to provide:

  • complete Warpgate logs
  • MySQL logs
  • SQLite database
  • Docker Compose
  • steps to reproduce

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions