{"id":"GHSA-c66p-64fj-jmc2","aliases":["CVE-2025-23200"],"title":"LibreNMS Misc Section Stored Cross-site Scripting vulnerability","titleSource":"OSV","descriptionSource":"OSV","declaredSeverity":"MODERATE","description":"# StoredXSS-LibreNMS-MiscSection\n\n\n**Description:**\n\n\nStored XSS on the parameter: `ajax_form.php` -> param: state\n\nRequest:\n```http\nPOST /ajax_form.php HTTP/1.1\nHost: <your_host>\nX-Requested-With: XMLHttpRequest\nX-CSRF-TOKEN: <your_XSRF_token>\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\nCookie: <your_cookie>\n\ntype=override-config&device_id=1&attrib=override_icmp_disable&state=\"><img%20src%20onerror=\"alert(1)\"> \n```\n\n\nof Librenms version 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\nThe vulnerability in the line:\n```php\n$attrib_val = get_dev_attrib($device, $name);\n```\nwithin the `dynamic_override_config` function arises because the value of `$attrib_val is` retrieved from untrusted data without any sanitization or encoding (at [Line 778](https://github.com/librenms/librenms/blob/master/includes/html/functions.inc.php#L778)). \n\nWhen `dynamic_override_config` is called, the unescaped `$attrib_val` is injected directly into the HTML (at [misc.inc.php](https://github.com/librenms/librenms/blob/master/includes/html/pages/device/edit/misc.inc.php)).\n\n\n**Proof of Concept:**\n1. Add a new device through the LibreNMS interface.\n2. Edit the newly created device and select the Misc section.\n3. In any of the following fields: \"Override default ssh port\", \"Override default telnet port\", \"Override default http port\" or \"Unix agent port\", enter the payload: `\"><img src onerror=\"alert(document.cookie)\">`.\n4. Save the changes.\n5. Observe that when the page loads, the XSS payload executes, triggering a popup that displays the current cookies.\n\n\n\n![image](https://github.com/user-attachments/assets/097d17cb-7a6c-4924-add8-f867df643025)\n![image](https://github.com/user-attachments/assets/8213d55a-d87a-4a6e-94bf-092877398da5)\n\n\n**Impact:**\n\nExecution of Malicious Code","severity":"medium","score":4.6,"published":"2025-01-16T17:32:55.000Z","modified":"2025-03-25T15:53:10.309Z","withdrawn":false,"knownExploited":false,"affected":[{"ecosystem":"Packagist","name":"librenms/librenms","sources":[{"name":"OSV · GHSA-c66p-64fj-jmc2","url":"https://osv.dev/vulnerability/GHSA-c66p-64fj-jmc2"}],"ranges":[{"events":[{"introduced":"23.9.0"},{"fixed":"24.11.0"}],"type":"ECOSYSTEM"}],"versions":["23.10.0","23.11.0","23.9.0","23.9.1","24.1.0","24.10.0","24.10.1","24.2.0","24.3.0","24.4.0","24.4.1","24.5.0","24.6.0","24.7.0","24.8.0","24.8.1","24.9.0","24.9.1"],"fixed":["24.11.0"]}],"sourceAffected":[],"references":["https://github.com/librenms/librenms/security/advisories/GHSA-c66p-64fj-jmc2","https://nvd.nist.gov/vuln/detail/CVE-2025-23200","https://github.com/librenms/librenms/pull/16722","https://github.com/librenms/librenms/commit/26258a2518dbfa55b213ec4b90ec16ed97efb597","https://github.com/librenms/librenms"],"sources":[{"name":"OSV","id":"GHSA-c66p-64fj-jmc2","modified":"2025-03-25T15:53:10.309075Z","url":"https://osv.dev/vulnerability/GHSA-c66p-64fj-jmc2"}],"assessments":[{"source":"OSV","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","score":4.6}],"products":[],"remediation":[],"kev":{"status":"not-listed","checkedAt":"2026-10-28T20:15:32.897Z"},"coverage":[{"source":"NVD","status":"not-checked"},{"source":"GHSA","status":"not-checked"},{"source":"EUVD","status":"not-checked"},{"source":"EPSS","status":"not-checked"}],"evidence":[]}