关键信息 漏洞描述 SMF(Session Management Function)在处理包含恶意的TFT(Traffic Aggregate Description)的Bearer Resource Command时崩溃。恶意的TFT是通过设置pf[0].content.length为非常大的值(例如0xFF),但实际内容数据仅少量来构造的。 当流量模板解析器(ogs_gtp2_parse_tft)通过长度验证时,SMF的崩溃是因为一个内部断言失败。 复现步骤 创建一个新的Go项目。 编写并运行恶意的Bearer Resource Command代码。该恶意IE会通过引擎导致SMF崩溃。 观察SMF崩溃的日志信息,如下所示: > [SMF] DEBUG: Bearer Resource Command > [SMF] FATAL: ogs_gtp2_parse_tft: Assertion size+len+sizeof(tftie->content.component[j].type) len failed 应该验证TFT/TAD长度并优雅地拒绝包含恶意的Bearer Resource Command的消息。 观察到的行为SMF崩溃,日志中出现断言失败信息。 预期行为 SMF应该对TFT/TAD长度进行验证并在接收恶意Bearer Resource Command消息时能正确处理(例如返回错误原因或丢弃消息),而不会崩溃。 观察行为 SMF在解析TAD IE内的恶意TFT时崩溃,并出现断言失败信息。 eNodeB/gNodeB 不适用 UE Models and versions * 不适用