CVE-2025-63829CVE-2025-63829是eProsima Fast-DDS(Fast Data Discovery Service)中的一个高危安全漏洞。该漏洞存在于Time_t::fraction()函数中,由于整数溢出问题导致无限循环。eProsima Fast-DDS是一个开源的C++实现的数据分发服务(DDS)中间件,广泛应用于机器人、无人系统、航空航天和汽车等领域。攻击者可以通过网络向存在漏洞的Fast-DDS节点发送特制的Time_t结构数据,触发整数溢出条件,进而导致目标服务进入无限循环状态。由于CVSS评分中可用性影响为高(H),该漏洞主要影响系统的可用性,可能导致目标节点资源耗尽、服务拒绝或系统崩溃。无需认证即可利用此漏洞,使其成为高风险的安全威胁。
漏洞根源在于eProsima Fast-DDS的Time_t::fraction()函数实现中存在整数溢出缺陷。在fastrtps/src/cpp/fastdds/core/Time_t.cpp第67行附近的代码中,当处理Time_t结构体的fraction字段时,如果输入的fraction值经过计算后超出32位整数范围,将发生整数溢出。溢出的结果可能导致循环计数器或边界判断出错,形成无限循环。具体而言,Time_t::fraction()函数在计算分数部分时未对输入值进行充分的边界检查,使得恶意构造的Time_t对象可以触发整数溢出条件。攻击者利用此漏洞时,需要构造一个fraction字段值使得在fraction()函数处理过程中发生整数溢出,从而绕过正常的循环退出条件。一旦成功触发,目标进程将陷入无限循环,消耗100%的CPU资源,最终导致该节点上的DDS服务无法响应其他请求,实现拒绝服务攻击。