CVE-2019-12120

9.8 CRITICAL

📋 TL;DR

CVE-2019-12120 allows unauthenticated attackers with pod-to-pod network access to execute arbitrary code on ONAP VNFSDK pods via port 8000. All ONAP Operations Manager (OOM) deployments are affected. This is a critical remote code execution vulnerability.

💻 Affected Systems

Products:
  • ONAP VNFSDK
Versions: All versions through Dublin release
Operating Systems: Linux (containerized deployments)
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects ONAP deployments using OOM (Operations Manager) setup. Requires attacker to have pod-to-pod network access.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the ONAP environment, allowing attackers to execute arbitrary commands, steal sensitive data, pivot to other systems, and disrupt operations.

🟠

Likely Case

Attackers with internal network access can gain shell access to VNFSDK pods, potentially compromising the entire ONAP deployment and its managed services.

🟢

If Mitigated

With proper network segmentation and pod security policies, impact is limited to the specific VNFSDK pod, though lateral movement remains possible.

🌐 Internet-Facing: LOW (requires pod-to-pod access, typically not internet-facing)
🏢 Internal Only: HIGH (attackers with internal network access can exploit this easily)

🎯 Exploit Status

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

Exploitation is straightforward once an attacker gains pod-to-pod network access. No authentication required to access the vulnerable endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after Dublin release

Vendor Advisory: https://jira.onap.org/browse/OJSI-10

Restart Required: Yes

Instructions:

1. Upgrade ONAP to a version after Dublin release. 2. Update VNFSDK component to patched version. 3. Restart affected pods/services. 4. Verify the fix by checking that port 8000 no longer accepts unauthenticated commands.

🔧 Temporary Workarounds

Network segmentation

linux

Restrict pod-to-pod communication using Kubernetes Network Policies

kubectl apply -f network-policy.yaml (with appropriate deny rules for VNFSDK pods)

Firewall blocking

linux

Block access to port 8000 on VNFSDK pods from unauthorized sources

iptables -A INPUT -p tcp --dport 8000 -j DROP (on host or via network policy)

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate VNFSDK pods from other pods
  • Deploy intrusion detection systems to monitor for exploitation attempts on port 8000

🔍 How to Verify

Check if Vulnerable:

Check if VNFSDK pod is listening on port 8000 and test if unauthenticated commands can be executed: 'nc -zv <pod_ip> 8000' and attempt to send payloads

Check Version:

Check ONAP version: 'kubectl get pods -l app=vnfsdk -o jsonpath="{.items[0].metadata.labels.version}"'

Verify Fix Applied:

Verify port 8000 is no longer accessible or requires authentication. Test that previously exploitable endpoints are secured.

📡 Detection & Monitoring

Log Indicators:

  • Unusual connections to port 8000 on VNFSDK pods
  • Suspicious command execution in VNFSDK container logs
  • Unexpected process creation in VNFSDK pods

Network Indicators:

  • Traffic to port 8000 from unexpected sources
  • Large or unusual payloads sent to VNFSDK pods

SIEM Query:

source_port=8000 AND (protocol=tcp) AND (destination_ip IN vnfsdk_pod_ips)

🔗 References

📤 Share & Export