Skip to main content

Icinga 2 CVE-2025-61909

MEDIUM
Execution with Unnecessary Privileges (CWE-250)
2025-10-16 security-advisories@github.com
4.0
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Compromise icinga daemon user
  2. Delivery
    Write arbitrary PID into daemon-writable pid file
  3. Exploit
    Wait for root reload or logrotate
  4. Execution
    Root sends signal to targeted process
  5. Impact
    Disrupt processes outside icinga's privilege

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V8 - Authorization Unnecessary privilege execution
Exploitation Conditions

Requires the attacker to already have control of the unprivileged 'icinga' daemon user (PR:H) on the host so it can write to the daemon-owned PID file (icinga2.pid in the init run directory). Exploitation is only triggered when a root context consumes that PID file - i.e. during 'systemctl reload icinga2'/the shipped safe-reload script or during a logrotate run of the Icinga 2 logs (AT:P: an attacker must plant the PID and then wait for this root-run event). Limiting factors: strictly local (AV:L), needs prior compromise of the service account, no code execution or data disclosure, and impact is confined to delivering a root-privileged signal to an attacker-chosen process. Affects Icinga 2 from 2.10.0 up to the fixed 2.15.1/2.14.7/2.13.13.

Impact

This is a genuinely low-priority, low-real-world-risk issue despite being a privilege/signal-handling flaw. The CVSS 4.0 vector (AV:L/AC:L/AT:P/PR:H/UI:N) confirms the attacker must already be local AND already hold high privileges - specifically control of the 'icinga' daemon user that owns the writable PID file - and must satisfy an attack requirement (AT:P), namely waiting for a root-triggered 'systemctl reload icinga2'/safe-reload or logrotate run. The only impact is SA:H (availability of subsequent/other-system processes via signal delivery); VC/VI/VA are all N, so there is no confidentiality or integrity impact and no code execution. The EPSS score (0.22%, 11th percentile) is correspondingly low and consistent with the high prerequisites. There is no CISA KEV listing and no public exploit identified - the only 'source code evidence' provided is the vendor patch commit, NOT a proof-of-concept exploit, so POC availability should be treated as unknown/none. No signals conflict: CVSS, EPSS, and the absence of KEV all agree this is a contained local escalation requiring an already-compromised service account, not a widespread remote threat.

Exploit ScenarioDerived

An attacker who has already compromised the unprivileged 'icinga' daemon account (e.g. via a separate RCE in the monitoring stack) writes the PID of an arbitrary system process into the daemon-writable icinga2.pid file. When a root-run reload (safe-reload / systemctl reload icinga2) or logrotate cycle fires, root reads that attacker-controlled PID and sends a signal (SIGHUP/SIGUSR1) to the chosen process, letting the icinga user affect processes it could not otherwise signal. No public exploit code has been identified; only the vendor fix commit is available.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 09, 2026

Icinga 2 versions 2.10.0 through 2.15.0 (and the corresponding pre-fix 2.14.x and 2.13.x lines) ship a safe-reload script and a logrotate configuration that read the main process PID from a PID file writable by the unprivileged 'icinga' daemon user but then deliver the signal as root, so a local attacker who already controls the icinga service account can cause root to signal processes it would not normally be able to signal. Exploitation is local and conditional: the attacker must plant a crafted PID and then wait for a root-context event - 'systemctl reload icinga2' or a logrotate run on Icinga 2 logs - meaning the flaw yields a root-privileged signal, not code execution or data disclosure. Vendor patches are available in 2.15.1, 2.14.7, and 2.13.13; EPSS is low (0.22%, 11th percentile) and no public exploit identified at time of analysis.

RemediationAI

Upgrade to a fixed release: Icinga 2 2.15.1, 2.14.7, or 2.13.13 - vendor-released patches from the 2.15, 2.14, and 2.13 branches, announced at https://icinga.com/blog/releasing-icinga-2-v2-15-1-2-14-7-and-2-13-13-and-icinga-db-web-v1-2-3-and-1-1-4, with the underlying upstream fix in commit https://github.com/Icinga/icinga2/commit/51ec73cbd922a76fc0f60e1d8d33acd7caa5d587 and details in GHSA-pg6g-g99v-mw46. The patch replaces the root-executed '/bin/kill' calls in etc/initsystem/safe-reload.cmake and etc/logrotate.d/icinga2.cmake with 'icinga2 internal signal --sig SIGHUP|SIGUSR1 --pid <pid>', so if in-place upgrades are not possible you can backport that same change to the two shipped files, which removes the unnecessary root privilege without altering monitoring behaviour. If modifying packaging is undesirable, a compensating control with a clear trade-off is to restrict write access to the init run directory and icinga2.pid (for example, a root-owned directory or a systemd RuntimeDirectory with restrictive ownership) so the icinga daemon user cannot substitute the PID - the side effect is that the daemon must still be able to write its own PID file for service management and for the safe-reload/logrotate paths to function, so this must be tested against your init system. Disabling or replacing the shipped logrotate stanza and avoiding 'systemctl reload icinga2' in favour of a restart as root also removes the trigger, at the cost of losing log rotation and graceful reloads. Given that exploitation requires prior compromise of the 'icinga' account and produces only a root-privileged signal, remediation can be scheduled as routine maintenance rather than emergency patching, and no public exploit code was identified at time of analysis.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-250 (Execution with Unnecessary Privileges). Icinga 2's init integration uses two root-run paths that touch a daemon-owned file: etc/initsystem/safe-reload.cmake (invoked by the safe-reload helper and by 'systemctl reload icinga2') and the shipped logrotate configuration etc/logrotate.d/icinga2.cmake. Both read the Icinga 2 PID from icinga2.pid in the init run directory - a file the 'icinga' daemon user can write because the daemon itself maintains it - and then call /bin/kill (SIGHUP for safe-reload, SIGUSR1 for logrotate) as root. Because the PID value is attacker-controllable from the perspective of the unprivileged icinga account, root ends up delivering a signal to an arbitrary target process, including processes belonging to root or other users that the icinga account could never signal on its own. The upstream fix (commit 51ec73cbd922a76fc0f60e1d8d33acd7caa5d587) replaces the raw '/bin/kill' / '/bin/kill -USR1' calls with the daemon's own 'icinga2 internal signal --sig SIGHUP|SIGUSR1 --pid ...' subcommand, which routes signal delivery through the monitoring process rather than through a root-privileged kill, and adds SIGUSR1 handling in lib/cli/internalsignalcommand.cpp. The changed security posture is a reduction of unnecessary privilege rather than the removal of an injection primitive; the affected technology stack is the Icinga 2 C++ monitoring daemon plus its systemd/logrotate packaging glue.

Know when Icinga gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 4.0 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:H
vuln.today AI 5.3 MEDIUM

Requires the already-privileged icinga daemon user (PR:H) and a root-triggered reload/logrotate race (AC:H); scope changes as root signals other processes (S:C) with availability-only impact (A:H).

3.1 AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:P/PR:H/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:H

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
High

DescriptionCVE.org

Icinga 2 is an open source monitoring system. From 2.10.0 to before 2.15.1, 2.14.7, and 2.13.13, the safe-reload script (also used during systemctl reload icinga2) and logrotate configuration shipped with Icinga 2 read the PID of the main Icinga 2 process from a PID file writable by the daemon user, but send the signal as the root user. This can allow the Icinga user to send signals to processes it would otherwise not permitted to. A fix is included in the following Icinga 2 versions: 2.15.1, 2.14.7, and 2.13.13.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Medium
established open-source monitoring system, moderate enterprise adoption
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

20
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +20
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

Affected Products (CPE)CVE.org

cpe:2.3:a:icinga:icinga:*:*:*:*:*:*:*:*
cpe:2.3:a:icinga:icinga:*:*:*:*:*:*:*:*
cpe:2.3:a:icinga:icinga:2.15.0:*:*:*:*:*:*:*

More in Icinga

View all
CVE-2012-6096 HIGH POC
7.5 Jan 22

Multiple stack-based buffer overflows in the get_history function in history.cgi in Nagios Core before 3.4.4, and Icinga

CVE-2013-7108 MEDIUM POC
5.5 Jan 15

Multiple off-by-one errors in Nagios Core 3.5.1, 4.0.2, and earlier, and Icinga before 1.8.5, 1.9 before 1.9.4, and 1.10

CVE-2018-18249 CRITICAL POC
9.8 Dec 17

Icinga Web 2 before 2.6.2 allows injection of PHP ini-file directives via vectors involving environment variables as the

CVE-2022-24715 HIGH POC
8.8 Mar 08

Icinga Web 2 is an open source monitoring web interface, framework and command-line interface. Rated high severity (CVSS

CVE-2021-32743 HIGH POC
8.8 Jul 15

Icinga is a monitoring system which checks the availability of network resources, notifies users of outages, and generat

CVE-2021-32739 HIGH POC
8.8 Jul 15

Icinga is a monitoring system which checks the availability of network resources, notifies users of outages, and generat

CVE-2024-24820 HIGH POC
8.3 Feb 09

Icinga Director is a tool designed to make Icinga 2 configuration handling easy. Rated high severity (CVSS 8.3), this vu

CVE-2020-14004 HIGH POC
7.8 Jun 12

An issue was discovered in Icinga2 before v2.12.0-rc1. Rated high severity (CVSS 7.8), this vulnerability is low attack

CVE-2022-24716 HIGH POC
7.5 Mar 08

Icinga Web 2 is an open source monitoring web interface, framework and command-line interface. Rated high severity (CVSS

CVE-2020-24368 HIGH POC
7.5 Aug 19

Icinga Icinga Web2 2.0.0 through 2.6.4, 2.7.4 and 2.8.2 has a Directory Traversal vulnerability which allows an attacker

CVE-2018-18250 HIGH POC
7.5 Dec 17

Icinga Web 2 before 2.6.2 allows parameters that break navigation dashlets, as demonstrated by a single '$' character as

CVE-2017-16933 HIGH POC
7.0 Nov 24

etc/initsystem/prepare-dirs in Icinga 2.x through 2.8.1 has a chown call for a filename in a user-writable directory, wh

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy