Bug 150871

Summary: CAN-2005-0710 MySQL security attacks via user-defined functions in C (CAN-2005-0709)
Product: Red Hat Enterprise Linux 4 Reporter: Tom Lane <tgl>
Component: mysqlAssignee: Tom Lane <tgl>
Status: CLOSED ERRATA QA Contact: David Lawrence <dkl>
Severity: high Docs Contact:
Priority: medium    
Version: 4.0CC: hhorak, security-response-team
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: impact=important,public=20050311,source=vulnwatch,reported=20050311
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-03-28 19:44:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tom Lane 2005-03-11 15:47:15 UTC
Description of problem:
MySQL allows users with very low privileges to create user-defined
functions that reference code in loadable shared libraries.  Obviously
this creates a risk of users being able to cause the server to execute
arbitrary code.  There are some rather ad-hoc restrictions intended to
prevent misuse of the feature, but Stefano Di Paola found two
different ways to create problems anyway: you can call an arbitrary
function belonging to any standard system library, and you can
circumvent the check against giving an absolute path to a library.

Reported to vulnwatch.org by Stefano Di Paola on 11 Mar 2005

Version-Release number of selected component (if applicable):
mysql-4.1.7-5.RHEL4.1

How reproducible:
100%

Steps to Reproduce:
1.  See vulnwatch reports.

Additional info:
This is fixed in 4.1.10a, which we should upgrade to anyway as it
contains numerous other bug fixes.

My personal opinion is that adding more ad-hoc restrictions will never
make this feature secure, and that MySQL will ultimately have to do
something like what PostgreSQL does with their equivalent feature, ie
allow only database superusers to define functions written in C. 
We'll need to keep a close eye on this area.

Comment 1 Tom Lane 2005-03-11 15:51:39 UTC
Here is a link to the mysql manual's discussion of security for
user-defined functions:
http://dev.mysql.com/doc/mysql/en/udf-security.html

Comment 2 Josh Bressers 2005-03-28 19:44:47 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2005-334.html