CVE-2024-47528
LibreNMS Contains a Stored XSS via File Upload
LibreNMS is an open-source, PHP/MySQL/SNMP-based network monitoring system. Stored Cross-Site Scripting (XSS) can be achieved by uploading a new Background for a Custom Map. Users with "admin" role can set background for a custom map, this allow the upload of SVG file that can contain XSS payload which will trigger on load. This led to Stored Cross-Site Scripting (XSS). The vulnerability is fixed in 24.9.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- High
- User interaction
- Active
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
4.6
LibreNMS Contains a Stored XSS via File Upload
LibreNMS is an open-source, PHP/MySQL/SNMP-based network monitoring system. Stored Cross-Site Scripting (XSS) can be achieved by uploading a new Background for a Custom Map. Users with "admin" role can set background for a custom map, this allow the upload of SVG file that can contain XSS payload which will trigger on load. This led to Stored Cross-Site Scripting (XSS). The vulnerability is fixed in 24.9.0.
- Record
CVE-2024-47528- CVSS 4.0
- 4.6 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N - Weakness
- CWE-116, CWE-434, CWE-79
- Updated
- 2026-11-02
EUVDEUVD-2024-3164
4.6
LibreNMS is an open-source, PHP/MySQL/SNMP-based network monitoring system. Stored Cross-Site Scripting (XSS) can be achieved by uploading a new Background for a Custom Map. Users with "admin" role can set background for a custom map, this allow the upload of SVG file that can contain XSS payload which will trigger on load. This led to Stored Cross-Site Scripting (XSS). The vulnerability is fixed in 24.9.0.
- Record
EUVD-2024-3164- CVSS 4.0
- 4.6 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-x8gm-j36p-fppf
1.8
LibreNMS vulnerable to Stored Cross-site Scripting via File Upload
Summary
Stored Cross-Site Scripting (XSS) can archive via Uploading a new Background for a Custom Map.
Details
Users with "admin" role can set background for a custom map, this allow the upload of SVG file that can contain XSS payload which will trigger onload. This led to Stored Cross-Site Scripting (XSS).
PoC
-
Login using an Admin role account.
-
Go over to "$URL/maps/custom", the Manage Custom Maps.
-
Create a new map then choose to edit it.
-
Choose the "Set Background" option.
-
Choose to upload a SVG file that have this content.
<svg xmlns="http://www.w3.org/2000/svg" onload="alert(document.domain)">
<circle cx="50" cy="50" r="40" />
</svg>
-
Once uploaded, there should be a link to the SVG return in the POST request to the API "$URL/maps/custom/1/background".
-
Go over to that link on browser, should see a pop-up.
Impact
Attacker can use this to perform malicious java script code for malicious intent. This would impact other Admin role users and the Global Read role users. Normal users does not have permission to read the file, so they are not affected.
- Record
GHSA-x8gm-j36p-fppf- CVSS 4.0
- 1.8 Low
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:P - CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79, CWE-116, CWE-434
- Updated
- 2026-11-02
NVD
4.6
LibreNMS is an open-source, PHP/MySQL/SNMP-based network monitoring system. Stored Cross-Site Scripting (XSS) can be achieved by uploading a new Background for a Custom Map. Users with "admin" role can set background for a custom map, this allow the upload of SVG file that can contain XSS payload which will trigger on load. This led to Stored Cross-Site Scripting (XSS). The vulnerability is fixed in 24.9.0.
- Record
CVE-2024-47528- CVSS 4.0
- 4.6 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79, CWE-116, CWE-434
- Updated
- 2026-11-02
OSV
4.6
LibreNMS Contains a Stored XSS via File Upload
LibreNMS is an open-source, PHP/MySQL/SNMP-based network monitoring system. Stored Cross-Site Scripting (XSS) can be achieved by uploading a new Background for a Custom Map. Users with "admin" role can set background for a custom map, this allow the upload of SVG file that can contain XSS payload which will trigger on load. This led to Stored Cross-Site Scripting (XSS). The vulnerability is fixed in 24.9.0.
- Record
CVE-2024-47528- CVSS 4.0
- 4.6 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N - Weakness
- CWE-116, CWE-434, CWE-79
- Updated
- 2026-11-02
OSVGHSA-x8gm-j36p-fppf
1.8
LibreNMS vulnerable to Stored Cross-site Scripting via File Upload
Summary
Stored Cross-Site Scripting (XSS) can archive via Uploading a new Background for a Custom Map.
Details
Users with "admin" role can set background for a custom map, this allow the upload of SVG file that can contain XSS payload which will trigger onload. This led to Stored Cross-Site Scripting (XSS).
PoC
-
Login using an Admin role account.
-
Go over to "$URL/maps/custom", the Manage Custom Maps.
-
Create a new map then choose to edit it.
-
Choose the "Set Background" option.
-
Choose to upload a SVG file that have this content.
<svg xmlns="http://www.w3.org/2000/svg" onload="alert(document.domain)">
<circle cx="50" cy="50" r="40" />
</svg>
-
Once uploaded, there should be a link to the SVG return in the POST request to the API "$URL/maps/custom/1/background".
-
Go over to that link on browser, should see a pop-up.
Impact
Attacker can use this to perform malicious java script code for malicious intent. This would impact other Admin role users and the Global Read role users. Normal users does not have permission to read the file, so they are not affected.
- Record
GHSA-x8gm-j36p-fppf- CVSS 4.0
- 1.8 Low
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:P - CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-116, CWE-434, CWE-79
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
librenms/librenmsPackagist |
before 24.9.0 | 24.9.0 |
librenms/librenmsPackagist |
before 24.9.0, plus listed versions 1.191.201.20.11.211.22 Show 45 moreShow less1.22.011.231.241.251.261.271.281.291.301.30.011.311.31.011.31.021.31.031.321.32.011.331.33.011.341.351.361.36.011.371.381.391.401.411.421.42.011.431.441.451.461.471.481.48.11.491.501.50.11.511.521.531.53.11.541.55 |
24.9.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-47528 is a medium vulnerability (CVSS 4.6) in Librenms, published October 1, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.41%, the 35th percentile. Fixed in librenms/librenms 24.9.0.
References
github.com/librenms/librenms/security/advisories/GHSA-x8gm-j36p-fppf
github.com/librenms/librenms/commit/d959bf1b366319eda16e3cd6dfda8a22beb203be
nvd.nist.gov/vuln/detail/CVE-2024-47528
github.com/advisories/GHSA-x8gm-j36p-fppf
github.com/CVEProject/cvelistV5/tree/main/cves/2024/47xxx/CVE-2024-47528.json
github.com/librenms/librenms
Left out here: 78 versions. The JSON record has them.