Bug #32559 connection hangs on query with name_const
| Submitted: | 21 Nov 2007 7:04 | Modified: | 14 Dec 2007 19:27 |
|---|---|---|---|
| Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: General | Severity: | S1 (Critical) |
| Version: | 5.0.50, 5.1.23 | OS: | Any |
| Assigned to: | Ramil Kalimullin | CPU Architecture: | Any |
| Tags: | DoS, name_const | ||
[21 Nov 2007 7:04]
Shane Bester
[23 Nov 2007 6:45]
Shane Bester
testcase which crashes 5.1.23-debug:
Version: '5.1.23-rc-debug' socket: '' port: 3306 Source distribution
Assertion failed: thd->is_error() || thd->killed, file .\sql_parse.cc, line 3930
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
delimiter //
drop procedure if exists `p1`//
create procedure `p1`()
begin
drop table if exists `t1`;
create table `t1` (`a` int)engine=myisam;
select (name_const(`a`,null)) from `t1`;
end//
delimiter ;
call `p1`();
[24 Nov 2007 4:09]
Shane Bester
This is a denial of service. Causes crash in >=5.0.48, >=5.1.21: set insert_id=name_const(`a`,`a`); mysqld.exe!strlen mysqld.exe!set_var::set_var mysqld.exe!MYSQLparse mysqld.exe!parse_sql mysqld.exe!mysql_parse mysqld.exe!dispatch_command mysqld.exe!do_command mysqld.exe!handle_one_connection mysqld.exe!pthread_start mysqld.exe!_callthreadstart mysqld.exe!_threadstart Run in valgrind if it doesn't crash. Also, try 32-bit build.
[26 Nov 2007 10:37]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/38498 ChangeSet@1.2579, 2007-11-26 14:36:57+04:00, ramil@mysql.com +4 -0 Fix for bug #32559: connection hangs on query with name_const Problem: passing a non-constant name to the NAME_CONST function results in a crash. Fix: check the NAME_CONST name argument; introduce and use new Item::real_type() method to check the item type before a type cast.
[26 Nov 2007 13:50]
Sergey Petrunya
Ok to push after feedback provided on irc has been addressed.
[27 Nov 2007 5:37]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/38589 ChangeSet@1.2579, 2007-11-27 09:36:43+04:00, ramil@mysql.com +4 -0 Fix for bug #32559: connection hangs on query with name_const Problem: passing a non-constant name to the NAME_CONST function results in a crash. Fix: check the NAME_CONST name argument; return fake item type if we got non-constant argument(s).
[12 Dec 2007 23:00]
Bugs System
Pushed into 6.0.5-alpha
[12 Dec 2007 23:02]
Bugs System
Pushed into 5.1.23-rc
[12 Dec 2007 23:03]
Bugs System
Pushed into 5.0.54
[14 Dec 2007 19:27]
Paul DuBois
Noted in 5.0.54, 5.1.23, 6.0.5 changelogs.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.063 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.