GHSA-PM8J-3V64-92CQ
Vulnerability from github – Published: 2025-01-16 17:21 – Updated: 2025-04-28 18:33Description:
XSS on the parameters (Replace $DEVICE_ID with your specific $DEVICE_ID value):/device/$DEVICE_ID/edit -> param: display
of Librenms versions 24.9.0, 24.10.0, and 24.10.1 (https://github.com/librenms/librenms) allows remote attackers to inject malicious scripts. When a user views or interacts with the page displaying the data, the malicious script executes immediately, leading to potential unauthorized actions or data exposure.
Proof of Concept:
1. Add a new device through the LibreNMS interface.
2. Edit the newly created device by going to the "Device Settings" section.
3. In the "Display Name" field, enter the following payload: "><script>alert(1)</script>.
- Save the changes.
- The XSS payload triggers when accessing the "/apps" path (if an application was previously added).
Additional PoC:
1. In the "Display Name" field, enter the following payload: "><img src onerror="alert(1)">.
- The XSS vulnerability is triggered when accessing the "/ports" path, and the payload executes when hovering over the modified value in the "Port" field.
-
on
/device/$DEVICE_ID/ports/arppath: -
on
/device/$DEVICE_ID/logspath: -
on
/search/search=arp/path:
Impact:
Execution of Malicious Code
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c 24.10.1"
},
"package": {
"ecosystem": "Packagist",
"name": "librenms/librenms"
},
"ranges": [
{
"events": [
{
"introduced": "24.9.0"
},
{
"fixed": "24.11.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2025-23198"
],
"database_specific": {
"cwe_ids": [
"CWE-79"
],
"github_reviewed": true,
"github_reviewed_at": "2025-01-16T17:21:20Z",
"nvd_published_at": "2025-01-16T23:15:08Z",
"severity": "MODERATE"
},
"details": "**Description:**\n\n\nXSS on the parameters (Replace $DEVICE_ID with your specific $DEVICE_ID value):`/device/$DEVICE_ID/edit` -\u003e param: display\n\n\nof Librenms versions 24.9.0, 24.10.0, and 24.10.1 ([https://github.com/librenms/librenms](https://github.com/librenms/librenms)) allows remote attackers to inject malicious scripts. When a user views or interacts with the page displaying the data, the malicious script executes immediately, leading to potential unauthorized actions or data exposure.\n\n\n**Proof of Concept:**\n1. Add a new device through the LibreNMS interface.\n2. Edit the newly created device by going to the \"Device Settings\" section.\n3. In the \"Display Name\" field, enter the following payload: `\"\u003e\u003cscript\u003ealert(1)\u003c/script\u003e`.\n\n\n4. Save the changes.\n5. The XSS payload triggers when accessing the \"/apps\" path (if an application was previously added).\n\n \n**Additional PoC:**\n1. In the \"Display Name\" field, enter the following payload: `\"\u003e\u003cimg src onerror=\"alert(1)\"\u003e`.\n\n\n2. The XSS vulnerability is triggered when accessing the \"/ports\" path, and the payload executes when hovering over the modified value in the \"Port\" field.\n\n- on `/device/$DEVICE_ID/ports/arp` path:\n\n\n- on `/device/$DEVICE_ID/logs` path:\n\n\n- on `/search/search=arp/` path:\n\n\n**Impact:**\n\nExecution of Malicious Code",
"id": "GHSA-pm8j-3v64-92cq",
"modified": "2025-04-28T18:33:03Z",
"published": "2025-01-16T17:21:20Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/librenms/librenms/security/advisories/GHSA-pm8j-3v64-92cq"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-23198"
},
{
"type": "WEB",
"url": "https://github.com/librenms/librenms/commit/afe92dbf4321f107012690d476685603d1ccb013"
},
{
"type": "PACKAGE",
"url": "https://github.com/librenms/librenms"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N",
"type": "CVSS_V3"
}
],
"summary": "LibreNMS Display Name Stored Cross-site Scripting vulnerability"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.