关键漏洞信息 漏洞描述 问题标题: AMF crashed because PathSwitchRequest triggered ogs_assert_if_reached() during state processing. 问题编号: #3909 状态: Open 影响版本 Open5GS Release, Revision, or Tag: v2.7.3 复现步骤 1. 设置包括1个UE和1个gNB。 2. 重复以下两次: - gNB发送一个ngap PathSwitchRequest:/ngap PathSwitchRequestTransfer。 - 等待AMF响应ngap PathSwitchRequestAcknowledge。 3. 在第二次尝试时,AMF响应PathSwitchRequestAcknowledge,期间触发以下致命断言: - 原因分析 怀疑在第二次ngap PathSwitchRequest处理过程中,由于之前切换过程中的状态未重置,导致冲突或意外的内部状态重入。因此,在处理第二个PathSwitchRequest时,它会到达无效的代码路径。 日志 提供了详细的日志信息,显示了AMF在处理PathSwitchRequest时的状态变化和最终的断言失败。 预期行为 第二次PathSwitchRequest应作为新的更新处理或忽略。 观察到的行为 在第二次PathSwitchRequest处理时,SM上下文处理器找不到预期的AMF_SESSION_SYNC_DONE状态,触发ogs_assert_if_reached()并以致命错误终止进程。 相关提交 提交已应用于主分支,请拉取最新代码进行测试。