CVE-2024-22873

8.1 HIGH

📋 TL;DR

Tencent Blueking CMDB versions 3.2.x to 3.9.x contain a Server-Side Request Forgery (SSRF) vulnerability in the event subscription function. Attackers can send crafted POST requests to make the server perform unauthorized internal requests, potentially accessing sensitive internal systems. All deployments running affected versions are vulnerable.

💻 Affected Systems

Products:
  • Tencent Blueking CMDB
Versions: 3.2.x to 3.9.x
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All deployments with event subscription functionality enabled are vulnerable. The vulnerability is in the core subscription service.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could pivot from the CMDB server to access internal services like databases, cloud metadata services, or administrative interfaces, leading to full network compromise.

🟠

Likely Case

Attackers scan internal networks, access internal APIs, or retrieve sensitive information from internal services accessible to the CMDB server.

🟢

If Mitigated

With proper network segmentation and egress filtering, impact is limited to the CMDB server's own network segment.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires sending a crafted POST request to the vulnerable endpoint. Public proof-of-concept code is available in the referenced gist.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 3.10.x or later

Vendor Advisory: http://blueking.com

Restart Required: Yes

Instructions:

1. Backup your CMDB configuration and data. 2. Upgrade to Blueking CMDB version 3.10.x or later. 3. Restart all CMDB services. 4. Verify the fix by testing the event subscription endpoint.

🔧 Temporary Workarounds

Network Segmentation

linux

Restrict outbound network access from the CMDB server to only necessary internal services.

iptables -A OUTPUT -p tcp --dport 80 -j DROP
iptables -A OUTPUT -p tcp --dport 443 -j DROP

WAF/Proxy Filtering

all

Configure web application firewall or reverse proxy to block requests containing internal IP addresses or domains in the subscription payload.

🧯 If You Can't Patch

  • Implement strict network egress filtering from the CMDB server to prevent access to internal services.
  • Disable the event subscription functionality if not required for operations.

🔍 How to Verify

Check if Vulnerable:

Check if your CMDB version is between 3.2.x and 3.9.x by examining the service version endpoint or configuration files.

Check Version:

curl -X GET http://<cmdb-host>/api/v3/version

Verify Fix Applied:

After patching, attempt to exploit the vulnerability using the public PoC. Successful exploitation should no longer be possible.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /service/subscription.go with external or internal URLs in the payload
  • Outbound connections from CMDB server to unexpected internal IPs

Network Indicators:

  • HTTP requests from CMDB server to internal services not typically accessed
  • Unusual port scanning activity originating from CMDB server

SIEM Query:

source="cmdb-logs" AND uri="/service/subscription.go" AND method="POST" AND (payload CONTAINS "http://" OR payload CONTAINS "https://")

🔗 References

📤 Share & Export