GHSA-c66p-64fj-jmc2

Suggest an improvement
Source
https://github.com/advisories/GHSA-c66p-64fj-jmc2
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/01/GHSA-c66p-64fj-jmc2/GHSA-c66p-64fj-jmc2.json
JSON Data
https://api.test.osv.dev/v1/vulns/GHSA-c66p-64fj-jmc2
Aliases
  • CVE-2025-23200
Published
2025-01-16T17:32:55Z
Modified
2025-01-17T16:01:45.223289Z
Severity
  • 4.6 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N CVSS Calculator
Summary
LibreNMS Misc Section Stored Cross-site Scripting vulnerability
Details

StoredXSS-LibreNMS-MiscSection

Description:

Stored XSS on the parameter: ajax_form.php -> param: state

Request:

POST /ajax_form.php HTTP/1.1
Host: <your_host>
X-Requested-With: XMLHttpRequest
X-CSRF-TOKEN: <your_XSRF_token>
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Cookie: <your_cookie>

type=override-config&device_id=1&attrib=override_icmp_disable&state="><img%20src%20onerror="alert(1)"> 

of Librenms version 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.

The vulnerability in the line:

$attrib_val = get_dev_attrib($device, $name);

within 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).

When dynamic_override_config is called, the unescaped $attrib_val is injected directly into the HTML (at misc.inc.php).

Proof of Concept: 1. Add a new device through the LibreNMS interface. 2. Edit the newly created device and select the Misc section. 3. 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)">. 4. Save the changes. 5. Observe that when the page loads, the XSS payload executes, triggering a popup that displays the current cookies.

image image

Impact:

Execution of Malicious Code

Database specific
{
    "nvd_published_at": "2025-01-16T23:15:08Z",
    "cwe_ids": [
        "CWE-79"
    ],
    "severity": "MODERATE",
    "github_reviewed": true,
    "github_reviewed_at": "2025-01-16T17:32:55Z"
}
References

Affected packages

Packagist / librenms/librenms

Package

Name
librenms/librenms
Purl
pkg:composer/librenms/librenms

Affected ranges

Type
ECOSYSTEM
Events
Introduced
23.9.0
Fixed
24.11.0

Affected versions

23.*

23.9.0
23.9.1
23.10.0
23.11.0

24.*

24.1.0
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
24.10.0
24.10.1

Database specific

{
    "last_known_affected_version_range": "< 24.10.1"
}