>Description:
A user who would not otherwise have permission to create a database can
create a database which contains a "?" character, when the wildcard matches
an existing database that the user has permission to access.
Example: if test_db exists, any user with permission to access test_db
seems to be permitted to create "test?db" regardless of permissions.
It seems like MySQL is interpreting the "?" character strangely when
verifying permission to create a database.
I can only reproduce this problem when "?" replaces "_", for example
"test?db" by not "tes?_db".
>How-To-Repeat:
As super-user:
create database test_db;
use mysql;
insert into user values ('%','testuser',PASSWORD('123456'),
'N','N','N','N','N','N','N','N','N','N','N','N','N','N');
insert into db values
('%','test_db','testuser','Y','Y','Y','Y','Y','Y','N','N','Y','Y');
flush privileges;
As testuser:
create database 'mytestdatabase';
#the above command fails (as it should) with permission denied
create database `test?db`;
#the above command succeeds, and creates a database called "test?db";
>Fix:
>Submitter-Id: <submitter ID>
>Originator: [EMAIL PROTECTED]
>Organization:
>MySQL support: none
>Synopsis: database names containing '?' bypass permissions
>Severity: non-critical
>Priority: low
>Category: mysql
>Class: sw-bug
>Release: mysql-3.23.52 (Source distribution)
>Environment:
System: FreeBSD serv20.tierra.net 3.4-RELEASE FreeBSD 3.4-RELEASE #1: Thu
Jan 4 10:59:48 PST
2001 [EMAIL PROTECTED]:/usr/src/sys/compile/TIERRANET i386
Some paths: /usr/bin/perl /usr/bin/make /usr/bin/gcc /usr/bin/cc
GCC: gcc version 2.7.2.3
Compilation info: CC='gcc' CFLAGS='' CXX='g++' CXXFLAGS='' LDFLAGS=''
LIBC:
-r--r--r-- 1 root wheel 1051788 Dec 19 1999 /usr/lib/libc.a
lrwxrwxrwx 1 root wheel 9 May 13 2000 /usr/lib/libc.so -> libc.so.3
-r--r--r-- 1 root wheel 520040 Dec 19 1999 /usr/lib/libc.so.3
Configure command: ./configure -with-native-thread-libs=-lc-r
--prefix=/usr/local
Perl: This is perl, version 5.005_03 built for i386-freebsd
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php