LibreNMS Display Name Stored Cross-site Scripting vulnerability
        
  Moderate severity
        
          GitHub Reviewed
      
        Published
          Jan 16, 2025 
          in
          
            librenms/librenms
          
          •
          Updated Apr 28, 2025 
      
  
Package
Affected versions
>= 24.9.0, < 24.10.1
  Patched versions
24.11.0
  Description
        Published to the GitHub Advisory Database
      Jan 16, 2025 
    
  
        Reviewed
      Jan 16, 2025 
    
  
        Published by the National Vulnerability Database
      Jan 16, 2025 
    
  
        Last updated
      Apr 28, 2025 
    
  
Description:
XSS on the parameters (Replace $DEVICE_ID with your specific $DEVICE_ID value):
/device/$DEVICE_ID/edit-> param: displayof 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:
Add a new device through the LibreNMS interface.
Edit the newly created device by going to the "Device Settings" section.
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:
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
References