CVE-2023-51650

7.5 HIGH

📋 TL;DR

Hertzbeat versions before 1.4.1 have Spring Boot permission misconfigurations that allow unauthenticated access to three interfaces. This vulnerability enables attackers to access sensitive server information without authentication. All Hertzbeat deployments using affected versions are vulnerable.

💻 Affected Systems

Products:
  • Hertzbeat
Versions: All versions before 1.4.1
Operating Systems: All platforms running Hertzbeat
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all default installations of Hertzbeat before version 1.4.1.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain full access to sensitive monitoring data, server configurations, and potentially pivot to other systems in the environment.

🟠

Likely Case

Unauthorized users access sensitive monitoring information and server details that could facilitate further attacks.

🟢

If Mitigated

Limited information disclosure if network segmentation restricts access, but authentication bypass remains.

🌐 Internet-Facing: HIGH - Internet-facing instances are directly accessible to attackers without authentication.
🏢 Internal Only: MEDIUM - Internal attackers or compromised accounts can exploit this, but requires network access.

🎯 Exploit Status

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

Exploitation requires only HTTP requests to vulnerable endpoints without authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.4.1

Vendor Advisory: https://github.com/dromara/hertzbeat/security/advisories/GHSA-rrc5-qpxr-5jm2

Restart Required: Yes

Instructions:

1. Backup current configuration and data. 2. Stop Hertzbeat service. 3. Update to version 1.4.1 or later. 4. Restart Hertzbeat service. 5. Verify functionality.

🔧 Temporary Workarounds

Network Access Control

linux

Restrict network access to Hertzbeat instances using firewall rules.

iptables -A INPUT -p tcp --dport [hertzbeat-port] -s [trusted-network] -j ACCEPT
iptables -A INPUT -p tcp --dport [hertzbeat-port] -j DROP

Reverse Proxy Authentication

all

Place Hertzbeat behind a reverse proxy with authentication enabled.

🧯 If You Can't Patch

  • Isolate Hertzbeat instances to internal networks only with strict firewall rules.
  • Implement network segmentation and monitor for unauthorized access attempts to Hertzbeat endpoints.

🔍 How to Verify

Check if Vulnerable:

Check if accessing /api/account/auth/refresh, /api/monitors, or /api/alerts endpoints returns data without authentication.

Check Version:

Check Hertzbeat web interface or application logs for version information, or run: java -jar hertzbeat.jar --version

Verify Fix Applied:

After patching, verify that unauthenticated requests to vulnerable endpoints return 401/403 errors.

📡 Detection & Monitoring

Log Indicators:

  • Unauthenticated requests to /api/account/auth/refresh, /api/monitors, or /api/alerts endpoints
  • Multiple 200 responses from unauthenticated sources

Network Indicators:

  • Unusual traffic patterns to Hertzbeat API endpoints from unauthorized sources
  • Data exfiltration from monitoring endpoints

SIEM Query:

source="hertzbeat" AND (uri_path="/api/account/auth/refresh" OR uri_path="/api/monitors" OR uri_path="/api/alerts") AND http_status=200 AND NOT authenticated_user=*

🔗 References

📤 Share & Export