CVE-2025-60458CVE-2025-60458是存在于UxPlay 1.72版本中的一个双重释放(Double Free)安全漏洞。UxPlay是一款开源的AirPlay接收器服务器软件,允许用户在Linux或其他操作系统上接收来自iOS设备的音视频流媒体内容。该漏洞存在于UxPlay的RTSP(Real Time Streaming Protocol)请求处理模块中,具体位于RTSP TEARDOWN请求的处理逻辑中。攻击者可以通过发送精心构造的RTSP TEARDOWN请求来触发该漏洞。当软件处理特制的TEARDOWN请求时,会导致同一内存地址被多次调用free()函数释放,从而引发内存破坏。这种内存破坏可能导致多种后果:程序崩溃(拒绝服务攻击)、潜在的代码执行风险(取决于内存布局和堆状态),以及其他未定义行为。由于该漏洞位于网络服务组件中,攻击者可以远程利用此漏洞,对使用UxPlay作为媒体服务器的系统造成严重影响。在默认配置下,该漏洞需要用户交互才能触发(UI:R),但一旦成功利用,将导致服务不可用,影响音视频流的正常传输。
双重释放漏洞是一种经典的内存破坏漏洞,发生在程序对同一块堆内存进行两次free()操作时。在UxPlay 1.72的RTSP实现中,当处理TEARDOWN请求时,由于缺乏适当的内存管理机制,同一个内存块可能被释放两次。第一次free()操作会释放该内存并将其返回到堆管理器,但指针未被置空,导致存在悬空指针(dangling pointer)。当程序后续流程再次对该指针指向的地址执行free()时,就会发生双重释放。在glibc等主流内存分配器中,双重释放会触发堆元数据损坏检测,可能导致程序立即崩溃。此外,攻击者可能通过精心设计堆布局来利用双重释放实现代码执行,例如通过fastbin attack等技术。在RTSP TEARDOWN请求处理中,漏洞可能源于会话管理代码在处理连接关闭时的逻辑错误。攻击者需要构造包含特定参数的TEARDOWN请求,可能涉及不匹配的会话标识符或异常的请求序列。成功利用此漏洞需要攻击者能够与目标UxPlay服务器建立RTSP会话连接,并发送精心构造的请求数据。