CVE-2024-47524·PHP vulnerability
LibreNMS is an open-source, PHP/MySQL/SNMP-based network monitoring system. User with Admin role can create a Device Groups, the application did not properly sanitize the user input in the Device Groups name, when user see the detail of the Device Group, if java script code is inside the name of the Device Groups, its will be trigger. This vulnerability is fixed in 24.9.0.
- Severity
- high
- Software
- PHP
- Fixed in
- 24.9.0
- Published
- 2024-10-01
Affected versions
Until: 24.9.0
Fixed in: 24.9.0
How to fix this CVE
LibreNMS administrators must upgrade to version 24.9.0 or later to patch a stored XSS vulnerability in the Device Groups naming feature. The vulnerability allows authenticated administrators to inject malicious JavaScript into Device Group names, which executes when other users view the group details. Update your LibreNMS installation immediately and verify the patch is applied by checking the installed version.
sudo dnf update phpDefensia detects this vulnerability
What an exploitation attempt looks like
Sample log line indicative of exploitation attempts:
POST request to Device Group creation/update endpoints with payload containing HTML/JavaScript patterns in the 'name' parameter, such as: name=.*(<script|javascript:|onerror=|onload=|onclick=).*WAF mitigation (if patching is not yet possible)
Add this rule to your WAF to block exploitation attempts while you schedule the patch.
Implement input validation rules to block Device Group creation/update requests (POST/PUT to /device_group/* endpoints) containing HTML entities, script tags, or event handler attributes in the name parameter. Allow only alphanumeric characters, spaces, hyphens, and underscores in Device Group names at the WAF layer.How to check if you are affected
- Check LibreNMS version: Log into the web interface and navigate to Administration > About, or run `php artisan --version` from the LibreNMS installation directory
- Verify if Device Groups feature is exposed: Check if your LibreNMS instance has any Device Groups configured by navigating to Devices > Device Groups in the web interface
- Search logs for suspicious Device Group creation: Review `/opt/librenms/logs/` (or your custom log path) for POST requests to endpoints containing 'device_group' with unusual characters or script tags in the payload
- Confirm patch application: After upgrading, verify the version number shows 24.9.0 or higher and confirm no Device Groups contain JavaScript or HTML code in their names by querying the database: `mysql -u librenms -p librenms -e 'SELECT id, name FROM device_groups WHERE name REGEXP "<|javascript:|on[a-z]+="'`
FAQ
What is CVE-2024-47524?
CVE-2024-47524 is a stored cross-site scripting (XSS) vulnerability in LibreNMS where administrator-created Device Group names are not properly sanitized, allowing arbitrary JavaScript injection that executes when other users view the Device Group details page.
Is CVE-2024-47524 being actively exploited?
No, there is no evidence of active exploitation in the wild, and no public exploits have been released as of this advisory.
What versions of LibreNMS are affected by CVE-2024-47524?
All versions of LibreNMS prior to 24.9.0 are affected; the vulnerability has been patched in 24.9.0 and later releases.
How do I check if my server is vulnerable to CVE-2024-47524?
Run `php artisan --version` from your LibreNMS installation directory or check Administration > About in the web interface; if the version is below 24.9.0, your system is vulnerable.
Does Defensia detect CVE-2024-47524?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If PHP and LibreNMS are installed on a monitored server, CVE-2024-47524 will appear in your dashboard with remediation steps.
Related PHP CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-47524. Free for 1 server.
Get started free