Bug #114328 | Please provide a "secure mode" for the MySQL Client. | ||
---|---|---|---|
Submitted: | 12 Mar 19:45 | Modified: | 30 Oct 18:38 |
Reporter: | Jean-François Gagné | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Command-line Clients | Severity: | S4 (Feature request) |
Version: | 8.3.0, 8.0.36 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[12 Mar 19:45]
Jean-François Gagné
[13 Mar 5:57]
MySQL Verification Team
Hello Jean-François, Thank you for the feature request! regards, Umesh
[15 Mar 16:24]
Jean-François Gagné
Until this is implemented, a solution can be found in below. https://stackoverflow.com/questions/40958372/how-to-make-the-system-command-unavailable-in...
[19 Jun 17:47]
Jean-François Gagné
An option to have a more secure client in non-interactive mode, mentioned as a comment [1] in my previous post by Evan Elias [2], is to use the --binary-mode argument [3] (unclear if this was designed for this or is an accidental side-effect; as this is a verified feature request, I assume it is accidental). [1]: https://jfg-mysql.blogspot.com/2024/04/17-years-of-insecure-mysql-client.html?showComment=... [2]: https://x.com/EvanElias [3]: https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html#option_mysql_binary-mod...
[30 Oct 18:38]
Jean-François Gagné
This was "partially" fixed in 8.0.40, 8.4.3, and 9.1.0 by WL#16482. Only partially, because the fix only implement disabling the "system" command. According to below quote from the release notes, "pager", and other commands shared in a private comment, are still available. Below a quote from 8.0.40 release notes [1]: [1]: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-40.html > Added the --system-command option for the mysql client, which enables or disables the system client command. > > This option is enabled by default. To disable it, use --system-command=OFF or --skip-system-command, which causes the system command to be rejected with an error.