You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Signals sent as root to processes based on PID file written by the Icinga 2 daemon user
Moderate
julianbrost
published
GHSA-pg6g-g99v-mw46Oct 16, 2025
Package
Icinga 2
Affected versions
<=2.15.0
Patched versions
2.15.1, 2.14.7, 2.13.13
Description
Impact
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.
Patches
A fix is included in the following Icinga 2 versions: 2.15.1, 2.14.7, and 2.13.13.
Warning
The fix to the logrotate configuration is inside the /etc/logrotate.d/icinga2 file. This file is tracked as a configuration file by package manager and may not be updated automatically if that file was modified locally. After upgrading, make sure to check if there are any files with an extension like .dpkg-dist or .rpmnew next to it. If so, you need to incorporate the changes into your configuration manually.
If the file uses the command "$DAEMON" internal signal --sig SIGHUP --pid "$pid" (instead of kill -HUP "$pid"), it was upgraded correctly.
Workarounds
Both problems arise from calling the kill binary from shell scripts or configuration files. These can also be changed without upgrading the Icinga 2 packages. This can be used to temporarily disable these actions (at the cost of functionality).
The product performs an operation at a privilege level that is higher than the minimum level required, which creates new weaknesses or amplifies the consequences of other weaknesses.
Learn more on MITRE.
Impact
The
safe-reloadscript (also used duringsystemctl 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.Patches
A fix is included in the following Icinga 2 versions: 2.15.1, 2.14.7, and 2.13.13.
Warning
The fix to the logrotate configuration is inside the
/etc/logrotate.d/icinga2file. This file is tracked as a configuration file by package manager and may not be updated automatically if that file was modified locally. After upgrading, make sure to check if there are any files with an extension like.dpkg-distor.rpmnewnext to it. If so, you need to incorporate the changes into your configuration manually.If the file uses the command
"$DAEMON" internal signal --sig SIGHUP --pid "$pid"(instead ofkill -HUP "$pid"), it was upgraded correctly.Workarounds
Both problems arise from calling the
killbinary from shell scripts or configuration files. These can also be changed without upgrading the Icinga 2 packages. This can be used to temporarily disable these actions (at the cost of functionality).References