My SQL不安全临时文件建立漏洞

受影响系统:

MySQL AB MySQL 4.1.0-alpha

MySQL AB MySQL 4.1.0

MySQL AB MySQL 4.0.9

MySQL AB MySQL 4.0.8

MySQL AB MySQL 4.0.7

MySQL AB MySQL 4.0.6

MySQL AB MySQL 4.0.5a

MySQL AB MySQL 4.0.5

MySQL AB MySQL 4.0.4

MySQL AB MySQL 4.0.3

MySQL AB MySQL 4.0.2

MySQL AB MySQL 4.0.15

MySQL AB MySQL 4.0.14

MySQL AB MySQL 4.0.13

MySQL AB MySQL 4.0.12

MySQL AB MySQL 4.0.11

MySQL AB MySQL 4.0.10

MySQL AB MySQL 4.0.1

MySQL AB MySQL 4.0.0

MySQL AB MySQL 3.23.9

MySQL AB MySQL 3.23.8

MySQL AB MySQL 3.23.57

MySQL AB MySQL 3.23.56

MySQL AB MySQL 3.23.55

MySQL AB MySQL 3.23.54

MySQL AB MySQL 3.23.53a

MySQL AB MySQL 3.23.53

MySQL AB MySQL 3.23.52

MySQL AB MySQL 3.23.51

MySQL AB MySQL 3.23.50

MySQL AB MySQL 3.23.5

MySQL AB MySQL 3.23.48

MySQL AB MySQL 3.23.47

MySQL AB MySQL 3.23.46

MySQL AB MySQL 3.23.45

MySQL AB MySQL 3.23.44

MySQL AB MySQL 3.23.43

MySQL AB MySQL 3.23.42

MySQL AB MySQL 3.23.41

MySQL AB MySQL 3.23.40

MySQL AB MySQL 3.23.4

MySQL AB MySQL 3.23.39

MySQL AB MySQL 3.23.38

MySQL AB MySQL 3.23.37

MySQL AB MySQL 3.23.36

MySQL AB MySQL 3.23.34

MySQL AB MySQL 3.23.31

MySQL AB MySQL 3.23.30

MySQL AB MySQL 3.23.3

MySQL AB MySQL 3.23.29

MySQL AB MySQL 3.23.28 gamma

MySQL AB MySQL 3.23.28

MySQL AB MySQL 3.23.27

MySQL AB MySQL 3.23.26

MySQL AB MySQL 3.23.25

MySQL AB MySQL 3.23.24

MySQL AB MySQL 3.23.23

MySQL AB MySQL 3.23.2

MySQL AB MySQL 3.23.10

MySQL AB MySQL 3.22.32

MySQL AB MySQL 3.22.30

MySQL AB MySQL 3.22.29

MySQL AB MySQL 3.22.28

MySQL AB MySQL 3.22.27

MySQL AB MySQL 3.22.26

MySQL AB MySQL 3.20.32a

MySQL AB MySQL 3.23.49

- Debian Linux 3.0

- Mandrake Linux 9.0

- Mandrake Linux 8.2

- Mandrake Linux 8.1

- RedHat Linux 7.3

- RedHat Linux 7.2

- SuSE Linux 8.2

- SuSE Linux 8.1

详细描述:

MySQL是一款开放源代码关系型数据库系统。MySQL错误报告工具(mysqlbug)不安全建立临时文件,本地攻击者可以利用这个漏洞破坏系统任意文件内容,造成拒绝服务攻击。

mysqlbug是错误报告脚本,运行时会启动文本编辑器,用户会被提示使用模板写入他们的错误报告。问题存在与脚本在处理用户简单的退出文本编辑器而没有更改漏洞报告的情况下,mysqlbug会执行如下代码:
复制内容到剪贴板
代码:
if cmp -s $TEMP $TEMP.x
then
  echo "File not changed, no bug report submitted."
  cp $TEMP /tmp/failed-mysql-bugreport
  echo "The raw bug report exists in
/tmp/failed-mysql-bugreport"
  echo "If you use this remember that the first lines
of the report now
is a lie
.."
  exit 1
fi