Bug #564 | mysql_real_connect buffer overflow in unix socket name. | ||
---|---|---|---|
Submitted: | 1 Jun 2003 19:55 | Modified: | 4 Jun 2003 8:04 |
Reporter: | pokleyzz sakamaniaka | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S2 (Serious) |
Version: | All | OS: | Any (All) |
Assigned to: | Jani Tolonen | CPU Architecture: | Any |
[1 Jun 2003 19:55]
pokleyzz sakamaniaka
[4 Jun 2003 5:36]
Lenz Grimmer
Jani, can you please have a look at this soon? Thanks!
[4 Jun 2003 5:43]
Lenz Grimmer
BTW: I could not initally reproduce it with the provided Perl String (using 256 chars). I needed 322 chars to make it segfault in the standard 3.23.56 and 4.0.13 distribution.
[4 Jun 2003 6:17]
Georg Richter
I think the problem is an buffer overflow in structure UNIX_addr: -> strmov(UNIXaddr.sun_path, unix_socket); sun_path is defined in sys/un.h: /* Structure describing the address of an AF_LOCAL (aka AF_UNIX) socket. */ struct sockaddr_un { __SOCKADDR_COMMON (sun_); char sun_path[108]; /* Path name. */ }; Georg
[4 Jun 2003 8:04]
Jani Tolonen
Fixed. Will be in 4.0 and 4.1 soon. Regards, Jani
[17 Apr 2009 3:36]
James Day
If you believe that you are vulnerable to this you should upgrade to 4.1 for a full fix, not stick to 4.0. You aren't vulnerable with any version if your server is running on Windows or any other platform that doesn't support unix-style sockets.