关键信息 漏洞ID CVE-2025-44952 描述 在ngs pcfp context_add函数中缺少长度检查,该函数来自PPCP库,被SMF和UPF在Open5GS 2.7.2及更早版本中使用。这允许本地攻击者通过更改session.dnn字段为长度大于101的值来导致缓冲区溢出。 漏洞类型 缓冲区溢出 影响产品 Open5Gs 影响产品代码基 Open5Gs 2.7.2 影响组件 smf, upf, open5gs-smf, open5gs-upf 攻击类型 本地 影响 缓冲区溢出 攻击向量 攻击者必须能够更改受影响网络功能的配置文件。 参考链接 https://github.com/open5gs/open5gs/issues/3775 是否确认漏洞 是 发现者 Leonardo Segreto, Lorenzo Cannella 漏洞产品 Open5GS SMF, UPF v2.7.2 复现步骤 使用FlawFinder进行静态代码分析,发现了PPCP库中的两个潜在缓冲区溢出。 漏洞函数 被SMF、UPF、SGWU和SGWC组件使用,使它们都可能受到攻击。 缓冲区溢出是由于在从配置文件复制dnn和dnm字段时缺少长度检查。 使用足够大的输入可以溢出这些缓冲区。 触发溢出需要: - 超过32个字符的字符串来溢出dsv字段。 - 超过101个字符的字符串来溢出dnn字段。 为了更容易测试,使用了长度为368个字符的dnn字符串来溢出num_of_range字段,同时使验证更加容易。