[MDEV-29651] information_schema.processlist.host is empty when server started with --skip-grant-tables Created: 2022-09-28 Updated: 2023-12-13 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Documentation |
| Affects Version/s: | None |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Daniel Lenski | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | Documentation, information_schema | ||
| Attachments: |
|
||||
| Issue Links: |
|
||||
| Description |
|
1. MariaDB docs on information_schema.processlist do not mention the fact that :port is appended to the .host column, when connecting via TCP:
The MySQL 8.0 docs on information_schema.processlist do mention the presence of the TCP port. 2. When the server is started with --skip-grant-tables, then information_schema.processlist.host is '' (empty string).
The lack of documentation about the TCP port is a potential security hazard: if users are looking for connections as root from the local system, they may use a query like the following, and overlook TCP-based connections:
The fact that host='' when the server is started with --skip-grant-tables feels more like a bug/inadvertent omission. Likely caused by a nonexistent JOIN with mysql.user. |
| Comments |
| Comment by Daniel Lenski [ 2022-09-28 ] |
|
Not clear how to deal with (2), but I updated the processlist documentation to provide more information on (1): |
| Comment by Ian Gilfillan [ 2022-10-05 ] |
|
The documentation issue has been addressed, so I've unassigned and renamed the issue to highlight (2). |
| Comment by Daniel Black [ 2022-10-19 ] |
|
It seems possible that with --skip-grant-tables the THD isn't populated with the host and that's why its empty. Is it important to fix or can this just be documented too? |
| Comment by Daniel Lenski [ 2022-10-19 ] |
Shouldn't it be?
"Documenting the inconsistent behavior" would be better than "undocumented inconsistent behavior", but "consistent behavior" would be a lot better than just "documenting the inconsistent behavior." As in the example I gave above, users may have long-existing queries where they expect the value of host="localhost" for users connected via Unix socket, and likely will not realize that skip-grant-tables interferes with this even if documentation is added. |