漏洞概述 该漏洞涉及在输入派生的长度上强制执行边界检查,以防止整数溢出和缓冲区溢出问题。具体包括: 解析器/解析体:在分隔符搜索之前验证剩余缓冲区长度。 网络协议/传输控制协议:在乘法之前验证内容长度值,以防止整数溢出。 SIP消息翻译器:在构建URI之前验证总URI长度。 影响范围 文件: 、 、 、 、 这些文件中的代码修改旨在防止潜在的缓冲区溢出和整数溢出问题,这些问题可能导致安全漏洞。 修复方案 modules/sipmsgops/sipmsgops.c: - 在解析头部名称时,验证其长度是否超过缓冲区大小。 msg_translator.c: - 在构建URI时,验证总长度是否超过最大允许长度。 net/proto/tcp/tcp_common.h: - 在解析内容长度时,验证其值是否超过缓冲区大小。 parser/parse_body.c: - 在查找分隔符时,验证剩余缓冲区长度是否足够。 transformations.c: - 在评估字符串时,验证其长度是否超过缓冲区大小。 这些修改确保了在处理输入数据时进行适当的边界检查,从而防止潜在的安全漏洞。