CVE-2024-23115
High · 7.2CVSS
7.2
EPSS
67.5%
Published
Apr 1, 2024
CISA due date
—
Cloudanix analysis
A privileged user could abuse a flaw in Centreon to take over the monitoring system and potentially hide outages or steal sensitive configuration data.
- Exploitation
- Remote Authenticated
- Attacker needs
- High Privilege
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Application
- Class
- SQL Injection
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw is an authenticated SQL injection in Centreon’s updateGroups function. A high-privileged authenticated user can supply crafted input that is concatenated into SQL queries without adequate validation, allowing arbitrary SQL execution against the Centreon database. Because the vulnerable path can be leveraged beyond data access, successful exploitation may lead to arbitrary code execution in the context of the Centreon service account, with full confidentiality, integrity, and availability impact to the application and its monitored configuration data.
Why it matters to the business
Compromise of a Centreon monitoring server can undermine visibility into infrastructure health, expose credentials or configuration data stored by the monitoring platform, allow attackers to alter monitoring rules or suppress alerts, and potentially provide a foothold into systems monitored or managed through Centreon. Although exploitation requires authentication with high privileges and the vulnerability is not listed in CISA KEV, the EPSS probability is elevated, so internet-exposed or broadly accessible Centreon instances should be treated as a priority for remediation.
How an attack unfolds
An attacker first obtains or abuses a sufficiently privileged Centreon account. They then access functionality that reaches the updateGroups code path and submit a crafted value in a group-update request. Because the application fails to safely parameterize or validate the supplied string before constructing SQL, the database interprets attacker-controlled content as SQL. The attacker can use this to read or modify Centreon data and, depending on database permissions and deployment configuration, pivot from SQL execution to operating-system command execution or file creation, resulting in code running under the Centreon service account. Post-exploitation activity may include adding or changing accounts, extracting stored secrets, writing web-accessible files, disabling or modifying monitoring configuration, and using the monitoring server as a pivot point.
How to fix it
Upgrade Centreon to a version containing the upstream fix for the updateGroups SQL injection. For source-based deployments, ensure the code includes commit b0c74f195b1b48c7af9ec168db3cfbcade99da7f or a later vendor-maintained release containing that change. If immediate upgrade is not possible, restrict Centreon administrative access to trusted networks, enforce MFA for privileged accounts, review and minimize administrative roles, disable unused accounts, and place the application behind VPN or other access control. Also rotate Centreon administrative credentials and any secrets stored in or accessible through Centreon if exploitation is suspected.
How to confirm the fix worked
Confirm the deployed Centreon code or package level includes the fix commit b0c74f195b1b48c7af9ec168db3cfbcade99da7f or a vendor release that incorporates it. Review the updateGroups implementation to verify user-controlled values are parameterized or otherwise safely handled rather than concatenated directly into SQL. From an exposure perspective, identify all Centreon web interfaces, confirm whether they are reachable from untrusted networks, and verify only authorized users have high-privilege access. After patching, perform authenticated application testing of the affected group-update workflow and confirm SQL metacharacters are handled as data, not executed as query syntax.
Typical attack path
- Obtain valid high-privilege Centreon credentials through phishing, credential reuse, session theft, or prior compromise.
- Authenticate to the Centreon web interface or API.
- Send a crafted request that reaches the updateGroups function with SQL metacharacters or injected SQL in a user-controlled field.
- Execute unauthorized SQL against the Centreon database to enumerate users, configuration, credentials, and monitoring objects.
- Escalate from database control to code execution where database privileges and deployment settings permit file write, command execution, or web shell placement.
- Persist by modifying Centreon users, permissions, configuration, or scheduled monitoring actions.
- Cover tracks by altering monitoring state, suppressing alerts, or deleting application, web, and database logs.
How to detect it
Investigate historical exploitation by correlating authenticated Centreon web requests with application, web server, database, and operating-system telemetry. Start with Apache or Nginx access logs for requests to Centreon group-management functionality or parameters containing SQL metacharacters, comments, time-delay functions, UNION queries, stacked statements, file-write attempts, or encoded payloads. Review Centreon application logs for group update errors, SQL exceptions, unexpected account or permission changes, and configuration changes that coincide with suspicious requests. Check database logs, if enabled, for unusual queries initiated by the Centreon application account, especially queries containing UNION SELECT, SLEEP, BENCHMARK, INTO OUTFILE, LOAD_FILE, or attempts to write into web-accessible paths. On the host, examine process creation telemetry for web server, PHP-FPM, database, or Centreon service accounts spawning shells, interpreters, download tools, or network utilities. Inspect Centreon webroots, plugin directories, temporary directories, and cron locations for recently created files, web shells, unauthorized scripts, or modified monitoring commands. Because exploitation requires authentication, also review successful logins, new sessions, privilege changes, and activity from unusual source IPs or user agents.
- updateGroups
- UNION SELECT
- UNION ALL SELECT
- SLEEP(
- BENCHMARK(
- INTO OUTFILE
- LOAD_FILE(
- INFORMATION_SCHEMA
- information_schema
- --
- #
- /*
- */
- ';
- %27
- %2D%2D
- %23
- /centreon/
- /usr/share/centreon/www/
- /var/log/centreon/
- /var/log/httpd/access_log
- /var/log/apache2/access.log
- /var/log/nginx/access.log
- php-fpm: pool
- www-data
- apache
- nginx
- /bin/sh -c
- /bin/bash -c
- /tmp/
- /var/tmp/
- curl
- wget
- nc
- ncat
- php -r
- python -c
- perl -e
What your security team should do
- Patch or upgrade all affected Centreon deployments, prioritizing internet-facing or broadly reachable instances.
- Verify the deployed code includes fix commit b0c74f195b1b48c7af9ec168db3cfbcade99da7f or a later vendor release containing the fix.
- Audit privileged Centreon accounts, remove unnecessary administrative access, enforce MFA, and reset credentials for dormant or suspicious accounts.
- Review web, application, database, and system logs for suspicious authenticated requests involving updateGroups and SQL injection patterns.
- Search Centreon web directories and plugin/script locations for recently created or modified files that could represent web shells or persistence.
- Harden network access so Centreon administration is reachable only from trusted management networks or through a controlled access gateway.
- Rotate secrets stored in Centreon or used by Centreon if there is any indication of compromise.
- Monitor for unexpected child processes spawned by web server, PHP, database, or Centreon service accounts.
The record
Centreon updateGroups SQL Injection Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of Centreon. Authentication is required to exploit this vulnerability. The specific flaw exists within the updateGroups function. The issue results from the lack of proper validation of a user-supplied string before using it to construct SQL queries. An attacker can leverage this vulnerability to execute code in the context of the service account. Was ZDI-CAN-22295.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Packagist | centreon/centreon | 0 | 22.10.15 |
Related vulnerabilities
- CVE-2024-23117 Centreon updateContactServiceCommands SQL Injection Remote Code Execution Vulnerability. Also affects centreon/centreon
- CVE-2024-23118 Centreon updateContactHostCommands SQL Injection Remote Code Execution Vulnerability. Also affects centreon/centreon
- CVE-2024-23116 Centreon updateLCARelation SQL Injection Remote Code Execution Vulnerability. Also affects centreon/centreon
- CVE-2024-0637 Centreon updateDirectory SQL Injection Remote Code Execution Vulnerability. Also affects centreon/centreon
- CVE-2019-16405 Centreon Web before 2.8.30, 18.10.x before 18.10.8, 19.04.x before 19.04.5 and 19.10.x… Also affects centreon/centreon
- CVE-2026-87936 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')… CWE-89
- CVE-2026-87938 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')… CWE-89
- CVE-2026-114664 Frappe Framework before 16.33.0 contains a blind SQL injection vulnerability in the… CWE-89