[29248] in bugtraq

home help back first fref pref prev next nref lref last post

Re: MySQL user can be changed to root

daemon@ATHENA.MIT.EDU (Sergei Golubchik)
Tue Mar 11 11:49:47 2003

Date: Mon, 10 Mar 2003 20:08:38 +0100
From: Sergei Golubchik <serg@mysql.com>
To: "Guido A.J. Stevens" <gyst@nfg.nl>
Message-ID: <20030310190838.GA67447@serg.mysql.com>
Mail-Followup-To: "Guido A.J. Stevens" <gyst@nfg.nl>,
	"bugsman@libero.it" <bugsman@libero.it>,
	bugtraq <bugtraq@securityfocus.com>, bugs@lists.mysql.com,
	security@debian.org
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <3E6CC7CC.3020307@nfg.nl>

Hi!

Both to bugtraq and mysql list:

This issue has been adressed in 3.23.56 (release build is started
today), and some steps were taken to alleviate the threat.

In particular, MySQL will no longer read config files that are
world-writeable (and SELECT ... OUTFILE always creates world-writeable
files). Also, unlike other options, for --user option the first one will
have the precedence. So if --user is set in /etc/my.cnf (as it is
recommended in the manual), datadir/my.cnf will not be able to override
it.

Fixing this issue in more robust way would mean introducing too big and
incompatible changes into stable version, thus breaking lots of
installations. It is to be done in 4.1.
 
Regards,
Sergei

On Mar 10, Guido A.J. Stevens wrote:
> 
> I can confirm this privilege escalation in mysql-server   3.23.49-8.2 
> (debian/stable on linux/i386). Any mysql user with file privileges can 
> trick the mysql server into running as root on restart of the mysql 
> subsystem.
> 
> bugsman@libero.it wrote:
> 
> > mysql>SELECT * INTO OUTFILE '/path/to/mysql/datadir/my.cnf' FROM hack
> 
> > Now, when the mysql server will be restarted, the user option in our
> > datadir my.cnf will override the one in /etc/my.cnf and mysql server will
> > run as root

-- 
MySQL Development Team
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /   Sergei Golubchik <serg@mysql.com>
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB, http://www.mysql.com/
/_/  /_/\_, /___/\___\_\___/  Osnabrueck, Germany
       <___/

home help back first fref pref prev next nref lref last post