CVE-2025-65567CVE-2025-65567是omec-project开源项目中UPF(User Plane Function,用户平面功能)的pfcpiface组件存在的拒绝服务漏洞。该漏洞影响upf-epc-pfcpiface 2.1.3-dev版本。漏洞根源在于PFCP Session Establishment Request消息处理过程中,对CreatePDR字段中包含的Flow-Description未进行充分的有效性验证。当收到包含畸形Flow-Description的特制请求时,parseFlowDesc解析器会超出预期缓冲区边界进行读取操作,导致程序panic并异常终止。由于UPF是5G核心网的关键组件,负责用户平面数据转发处理,该组件的崩溃将导致所有经过该UPF的用户平面数据转发中断,造成大规模服务中断。攻击者无需任何认证凭证,只需能够向UPF的N4/PFCP接口发送消息即可发起攻击,且可反复触发以维持拒绝服务状态。
该漏洞是一个典型的边界检查不足导致的缓冲区越界访问问题。在UPF的pfcpiface组件处理PFCP协议消息时,parseFlowDesc函数负责解析Flow-Description字段。正常情况下,Flow-Description应符合3GPP TS 29.244规范定义的格式,包含有效的包过滤规则。然而在2.1.3-dev版本中,该解析器未严格检查输入数据的长度和格式合法性。具体问题在于:1) 解析器假设输入缓冲区长度充足,未进行边界检查;2) 当遇到畸形数据时继续向后读取;3) 读取操作超出为缓冲区分配的内存边界后,触发Go语言的panic机制。虽然Go语言本身有内存安全机制,但越界访问会导致运行时检测到问题并触发panic,这等同于程序崩溃。攻击者构造的PFCP Session Establishment Request消息中,在CreatePDR IE的Flow-Description子字段中嵌入超出预期的数据长度或非预期格式的内容,即可触发该漏洞。由于PFCP是N4接口协议,攻击者只需能够访问UPF的PFCP端口(通常为8805/UDP)即可发送恶意请求。