CVE-2025-65563

7.5 HIGH

📋 TL;DR

A denial-of-service vulnerability in omec-project UPF allows attackers to crash the UPF process by sending malformed PFCP Association Setup Request messages missing the mandatory NodeID Information Element. This affects all deployments using vulnerable versions of the UPF's pfcpiface component, disrupting user-plane services. The vulnerability requires network access to the UPF's N4/PFCP endpoint.

💻 Affected Systems

Products:
  • omec-project UPF (User Plane Function)
Versions: up to at least version upf-epc-pfcpiface:2.1.3-dev
Operating Systems: Linux-based systems running UPF
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in the pfcpiface component of UPF when processing PFCP Association Setup Request messages.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete disruption of user-plane services through repeated UPF crashes, causing extended service outages until manual intervention restarts the process.

🟠

Likely Case

Intermittent service disruption as attackers exploit the vulnerability to crash the UPF, requiring process restarts and causing temporary service degradation.

🟢

If Mitigated

Minimal impact with proper network segmentation and monitoring, allowing quick detection and response to exploitation attempts.

🌐 Internet-Facing: HIGH if N4/PFCP endpoint is exposed to untrusted networks, as exploitation requires only network access and no authentication.
🏢 Internal Only: MEDIUM if N4/PFCP endpoint is only accessible from internal networks, reducing but not eliminating attack surface.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires only the ability to send crafted PFCP packets to the N4/PFCP endpoint, making it straightforward for attackers with network access.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in commit referenced in GitHub pull request #963

Vendor Advisory: https://github.com/omec-project/upf/issues/955

Restart Required: Yes

Instructions:

1. Update to the patched version of omec-project UPF. 2. Apply the fix from GitHub pull request #963. 3. Restart the UPF process to apply changes.

🔧 Temporary Workarounds

Network Segmentation

linux

Restrict access to the UPF's N4/PFCP endpoint to only trusted control-plane functions.

iptables -A INPUT -p tcp --dport <N4_PORT> -s <TRUSTED_IP> -j ACCEPT
iptables -A INPUT -p tcp --dport <N4_PORT> -j DROP

Rate Limiting

linux

Implement rate limiting on PFCP Association Setup Request messages to prevent rapid exploitation.

iptables -A INPUT -p tcp --dport <N4_PORT> -m limit --limit 10/min --limit-burst 20 -j ACCEPT

🧯 If You Can't Patch

  • Implement strict network access controls to limit which systems can communicate with the UPF's N4/PFCP endpoint.
  • Deploy monitoring and alerting for UPF process crashes to enable rapid response and restart.

🔍 How to Verify

Check if Vulnerable:

Check if running a vulnerable version by examining the UPF version or checking for the presence of the fix from GitHub pull request #963.

Check Version:

Check UPF configuration or logs for version information, typically via command line or configuration files specific to the deployment.

Verify Fix Applied:

Verify the fix is applied by checking the UPF version or confirming the code changes from pull request #963 are present.

📡 Detection & Monitoring

Log Indicators:

  • UPF process panic/crash logs
  • Error messages related to nil pointer dereference in pfcpiface
  • Repeated UPF restarts

Network Indicators:

  • Unusual volume of PFCP Association Setup Request messages
  • PFCP messages missing NodeID IE from untrusted sources

SIEM Query:

source="upf.log" AND ("panic" OR "nil pointer" OR "pfcpiface" AND "crash")

🔗 References

📤 Share & Export