Oracle MySQL是美国甲骨文(Oracle)公司的一套开源的关系数据库管理系统。该数据库系统具有性能高、成本低、可靠性好等特点。 MySQL数据库的CREATE FUNCTION命令用于在MySQL中实现用户自定义函数的管理,MySQL对于用户提交的自定义函数库名的路径处理上存在漏洞,拥有数据库管理员权限的用户可能利用漏洞在运行MySQL数据库的主机上以MySQL进程的权限执行任意指令。 MySQL虽然在执行CREATE FUNCTION命令时对用户指定的函数库名做了检查,但对实现类似功能的对\'\'mysql.func\'\'表的插入操作时没有对参数做相应的检查,如果经过认证的用户对MySQL管理数据库\'\'mysql\'\'拥有INSERT和DELETE的权限的话,就可能通过直接在\'\'mysql.func\'\'表中插入数据绕过对函数库名安全性的检查,从而通过让MySQL执行恶意的函数库而执行任意指令。
Oracle MySQL是美国甲骨文(Oracle)公司的一套开源的关系数据库管理系统。该数据库系统具有性能高、成本低、可靠性好等特点。 MySQL数据库的CREATE FUNCTION命令用于在MySQL中实现用户自定义函数的管理,MySQL对于用户提交的自定义函数库名的路径处理上存在漏洞,拥有数据库管理员权限的用户可能利用漏洞在运行MySQL数据库的主机上以MySQL进程的权限执行任意指令。 MySQL虽然在执行CREATE FUNCTION命令时对用户指定的函数库名做了检查,但对实现类似功能的对\'\'mysql.func\'\'表的插入操作时没有对参数做相应的检查,如果经过认证的用户对MySQL管理数据库\'\'mysql\'\'拥有INSERT和DELETE的权限的话,就可能通过直接在\'\'mysql.func\'\'表中插入数据绕过对函数库名安全性的检查,从而通过让MySQL执行恶意的函数库而执行任意指令。