VYPR
Moderate severityNVD Advisory· Published Feb 20, 2026· Updated Feb 20, 2026

LibreNMS vulnerable to Stored Cross-site Scripting through unsanitized /device-groups name

CVE-2026-26991

Description

LibreNMS is an auto-discovering PHP/MySQL/SNMP based network monitoring tool. In versions 26.1.1 and below, the device group name is not sanitized, allowing attackers with admin privileges to perform Stored Cross-Site Scripting (XSS) attacks. When a user adds a device group, an HTTP POST request is sent to the Request-URI "/device-groups". The name of the newly created device group is stored in the value of the name parameter. After the device group is created, the entry is displayed along with relevant buttons such as Rediscover Devices, Edit, and Delete. This issue has been fixed in version 26.2.0.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
librenms/librenmsPackagist
< 26.2.026.2.0

Affected products

1

Patches

1
64b31da44436

Fix device group delete xss (#19041)

https://github.com/librenms/librenmsTony MurrayFeb 16, 2026via ghsa
1 file changed · +4 2
  • resources/views/device-group/index.blade.php+4 2 modified
    @@ -54,7 +54,8 @@ class="fa fa-retweet" aria-hidden="true"></i></button>
                                        href="{{ route('device-groups.edit', $device_group->id) }}">
                                         <i class="fa fa-pencil" aria-hidden="true"></i></a>
                                     <button type="button" class="btn btn-danger btn-sm" title="{{ __('delete Device Group') }}" aria-label="{{ __('Delete') }}"
    -                                        onclick="delete_dg(this, '{{ $device_group->name }}', '{{ route('device-groups.destroy', $device_group->id) }}')">
    +                                        data-group-name="{{ $device_group->name }}"
    +                                        onclick="delete_dg(this, '{{ route('device-groups.destroy', $device_group->id) }}')">
                                         <i
                                             class="fa fa-trash" aria-hidden="true"></i></button>
                                 </td>
    @@ -69,8 +70,9 @@ class="fa fa-trash" aria-hidden="true"></i></button>
     
     @section('scripts')
         <script>
    -        function delete_dg(button, name, url) {
    +        function delete_dg(button, url) {
                 var index = button.parentNode.parentNode.rowIndex;
    +            var name = button.dataset.groupName;
     
                 if (confirm('{{ __('Are you sure you want to delete ') }}' + name + '?')) {
                     $.ajax({
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

6

News mentions

0

No linked articles in our index yet.