OSPF TE/SR TLV 解析漏洞修复总结 漏洞概述 该漏洞存在于 OSPF(开放最短路径优先)协议的 TE(流量工程)和 SR(段路由)TLV(类型-长度-值)解析器中。攻击者可以通过构造恶意的 opaque LSAs(不透明链路状态通告),利用循环累加器(loop accumulators)的 16 位整数溢出(wraparound),导致指针越界,从而读取或写入 LSA 缓冲区之外的内存。 影响范围 受影响文件: 和 。 受影响组件:所有涉及 TE/SR TLV 解析的循环逻辑。 修复方案 1. 整数溢出防护:将循环累加器(如 , , )的数据类型从 16 位( )升级为 32 位( ),防止数值溢出。 2. 边界检查:在每次处理 TLV 之前,增加显式的上限检查( ),确保指针不会超出剩余缓冲区。 3. 安全退出:在检测到畸形数据时,记录日志并安全退出循环,而不是盲目地步进指针。 4. 死代码清理:移除了冗余的 检查,因为该条件在逻辑上已无法被触发。 修复代码示例 以下是 中的关键修复代码片段: