VYPR
Moderate severityOSV Advisory· Published Dec 22, 2025· Updated Dec 22, 2025

LibreNMS Alert Rule API Cross-Site Scripting Vulnerability

CVE-2025-68614

Description

LibreNMS is an auto-discovering PHP/MySQL/SNMP based network monitoring tool. Prior to version 25.12.0, the Alert Rule API is vulnerable to stored cross-site scripting. Alert rules can be created or updated via LibreNMS API. The alert rule name is not properly sanitized, and can be used to inject HTML code. This issue has been patched in version 25.12.0.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
librenms/librenmsPackagist
< 25.12.025.12.0

Affected products

1

Patches

1
ebe6c79bf4ce

Strip html tags from alert rule name and notes for alert rule api (#18646)

https://github.com/librenms/librenmsNeil LathwoodDec 15, 2025via ghsa
3 files changed · +4 4
  • includes/html/api_functions.inc.php+2 2 modified
    @@ -1472,7 +1472,7 @@ function add_edit_rule(Illuminate\Http\Request $request)
             return api_error(400, 'Missing the alert builder rule');
         }
     
    -    $name = $data['name'];
    +    $name = strip_tags((string) $data['name']);
         if (empty($name)) {
             return api_error(400, 'Missing the alert rule name');
         }
    @@ -1498,7 +1498,7 @@ function add_edit_rule(Illuminate\Http\Request $request)
         $interval = $data['interval'];
         $override_query = $data['override_query'];
         $adv_query = $data['adv_query'];
    -    $notes = $data['notes'];
    +    $notes = strip_tags((string) $data['notes']);
         $delay_sec = convert_delay($delay);
         $interval_sec = convert_delay($interval);
         if ($mute == 1) {
    
  • includes/html/modal/alert_rule_list.inc.php+1 1 modified
    @@ -59,7 +59,7 @@
                                 }
                                 echo "
                                     <tr>
    -                                    <td>" . e($rule['name']) . "</td>
    +                                    <td>" . e(strip_tags((string)$rule['name'])) . "</td>
                                         <td><i>" . e($rule_display) . "</i></td>
                                         <td>{$rule['severity']}</td>
                                         <td>{$rule['id']}</td>
    
  • includes/html/print-alert-rules.php+1 1 modified
    @@ -263,7 +263,7 @@
     
         // Name
     
    -    echo '<td><a href="' . url('alerts/rule_id='.$rule['id']) .'" data-container="body" data-toggle="popover" data-placement="right" data-content="View active alerts for this rule" target="_blank">' . htmlentities((string) $rule['name']) . '</a></td>';
    +    echo '<td><a href="' . url('alerts/rule_id='.$rule['id']) .'" data-container="body" data-toggle="popover" data-placement="right" data-content="View active alerts for this rule" target="_blank">' . e(strip_tags((string) $rule['name']), true) . '</a></td>';
     
         // Devices (and Groups)
     
    

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

4

News mentions

0

No linked articles in our index yet.