CVE-2020-14004
An issue was discovered in Icinga2 before v2.12.0-rc1. The prepare-dirs script (run as part of...
An issue was discovered in Icinga2 before v2.12.0-rc1. The prepare-dirs script (run as part of the icinga2 systemd service) executes chmod 2750 /run/icinga2/cmd. /run/icinga2 is under control of an unprivileged user by default. If /run/icinga2/cmd is a symlink, then it will by followed and arbitrary files can be changed to mode 2750 by the unprivileged icinga2 user.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.8
An issue was discovered in Icinga2 before v2.12.0-rc1. The prepare-dirs script (run as part of the icinga2 systemd service) executes chmod 2750 /run/icinga2/cmd. /run/icinga2 is under control of an unprivileged user by default. If /run/icinga2/cmd is a symlink, then it will by followed and arbitrary files can be changed to mode 2750 by the unprivileged icinga2 user.
- Record
CVE-2020-14004- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 4.6 Medium
AV:L/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-59
- Updated
- 2026-11-02
CVE List No score
An issue was discovered in Icinga2 before v2.12.0-rc1. The prepare-dirs script (run as part of the icinga2 systemd service) executes chmod 2750 /run/icinga2/cmd. /run/icinga2 is under control of an unprivileged user by default. If /run/icinga2/cmd is a symlink, then it will by followed and arbitrary files can be changed to mode 2750 by the unprivileged icinga2 user.
- Record
CVE-2020-14004- Updated
- 2026-11-02
EUVDEUVD-2020-6171 No score
An issue was discovered in Icinga2 before v2.12.0-rc1. The prepare-dirs script (run as part of the icinga2 systemd service) executes chmod 2750 /run/icinga2/cmd. /run/icinga2 is under control of an unprivileged user by default. If /run/icinga2/cmd is a symlink, then it will by followed and arbitrary files can be changed to mode 2750 by the unprivileged icinga2 user.
- Record
EUVD-2020-6171- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-xqhq-m8mv-g9wp
7.8
An issue was discovered in Icinga2 before v2.12.0-rc1. The prepare-dirs script (run as part of...
An issue was discovered in Icinga2 before v2.12.0-rc1. The prepare-dirs script (run as part of the icinga2 systemd service) executes chmod 2750 /run/icinga2/cmd. /run/icinga2 is under control of an unprivileged user by default. If /run/icinga2/cmd is a symlink, then it will by followed and arbitrary files can be changed to mode 2750 by the unprivileged icinga2 user.
- Record
GHSA-xqhq-m8mv-g9wp- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-59
- Updated
- 2026-11-02
OSV
7.8
An issue was discovered in Icinga2 before v2.12.0-rc1. The prepare-dirs script (run as part of the icinga2 systemd service) executes chmod 2750 /run/icinga2/cmd. /run/icinga2 is under control of an unprivileged user by default. If /run/icinga2/cmd is a symlink, then it will by followed and arbitrary files can be changed to mode 2750 by the unprivileged icinga2 user.
- Record
CVE-2020-14004- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2020-14004
7.8
An issue was discovered in Icinga2 before v2.12.0-rc1. The prepare-dirs script (run as part of the icinga2 systemd service) executes chmod 2750 /run/icinga2/cmd. /run/icinga2 is under control of an unprivileged user by default. If /run/icinga2/cmd is a symlink, then it will by followed and arbitrary files can be changed to mode 2750 by the unprivileged icinga2 user.
- Record
DEBIAN-CVE-2020-14004- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 4 moreShow less
OSVUBUNTU-CVE-2020-14004
7.8
An issue was discovered in Icinga2 before v2.12.0-rc1. The prepare-dirs script (run as part of the icinga2 systemd service) executes chmod 2750 /run/icinga2/cmd. /run/icinga2 is under control of an unprivileged user by default. If /run/icinga2/cmd is a symlink, then it will by followed and arbitrary files can be changed to mode 2750 by the unprivileged icinga2 user.
- Record
UBUNTU-CVE-2020-14004- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2020:1820-1 No score
Security update for icinga2
This update for icinga2 fixes the following issues:
- Info that since version 2.12.0 following security issue is fixed: prepare-dirs script allows for symlink attack in the icinga user context. boo#1172171 (CVE-2020-14004)
Update to 2.12.1:
- Bugfixes
- Core
- Fix crashes during config update #8348 #8345
- Fix crash while removing a downtime #8228
- Ensure the daemon doesn't get killed by logrotate #8170
- Fix hangup during shutdown #8211
- Fix a deadlock in Icinga DB #8168
- Clean up zombie processes during reload #8376
- Reduce check latency #8276
- IDO
- Prevent unnecessary IDO updates #8327 #8320
- Commit IDO MySQL transactions earlier #8349
- Make sure to insert IDO program status #8330
- Improve IDO queue stats logging #8271 #8328 #8379
- Misc
- Ensure API connections are closed properly #8293
- Prevent unnecessary notifications #8299
- Don't skip null values of command arguments #8174
- Fix Windows .exe version #8234
- Reset Icinga check warning after successful config update #8189
- Core
Update to 2.12.0:
- Breaking changes
- Deprecate Windows plugins in favor of our
- PowerShell plugins #8071
- Deprecate Livestatus #8051
- Refuse acknowledging an already acknowledged checkable #7695
- Config lexer: complain on EOF in heredocs, i.e. {{{abc<EOF> #7541
- Enhancements
- Core
- Implement new database backend: Icinga DB #7571
- Re-send notifications previously suppressed by their time periods #7816
- API
- Host/Service: Add acknowledgement_last_change and next_update attributes #7881 #7534
- Improve error message for POST queries #7681
- /v1/actions/remove-comment: let users specify themselves #7646
- /v1/actions/remove-downtime: let users specify themselves #7645
- /v1/config/stages: Add 'activate' parameter #7535
- CLI
- Add pki verify command for better TLS certificate troubleshooting #7843
- Add OpenSSL version to 'Build' section in --version #7833
- Improve experience with 'Node Setup for Agents/Satellite' #7835
- DSL
- Add get_template() and get_templates() #7632
- MacroProcessor::ResolveArguments(): skip null argument values #7567
- Fix crash due to dependency apply rule with ignore_on_error and non-existing parent #7538
- Introduce ternary operator (x ? y : z) #7442
- LegacyTimePeriod: support specifying seconds #7439
- Add support for Lambda Closures (() use(x) => x and () use(x) => { return x }) #7417
- ITL
- Add notemp parameter to oracle health #7748
- Add extended checks options to snmp-interface command template #7602
- Add file age check for Windows command definition #7540
- Docs
- Development: Update debugging instructions #7867
- Add new API clients #7859
- Clarify CRITICAL vs. UNKNOWN #7665
- Explicitly explain how to disable freshness checks #7664
- Update installation for RHEL/CentOS 8 and SLES 15 #7640
- Add Powershell example to validate the certificate #7603
- Misc
- Don't send event::Heartbeat to unauthenticated peers #7747
- OpenTsdbWriter: Add custom tag support #7357
- Core
- Bugfixes
- Core
- Fix JSON-RPC crashes #7532 #7737
- Fix zone definitions in zones #7546
- Fix deadlock during start on OpenBSD #7739
- Consider PENDING not a problem #7685
- Fix zombie processes after reload #7606
- Don't wait for checks to finish during reload #7894
- Cluster
- Fix segfault during heartbeat timeout with clients not yet signed #7970
- Make the config update process mutually exclusive (Prevents file system race conditions) #7936
- Fix check_timeout not being forwarded to agent command endpoints #7861
- Config sync: Use a more friendly message when configs are equal and don't need a reload #7811
- Fix open connections…
- Core
- Record
openSUSE-SU-2020:1820-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10856-1 No score
icinga2-2.13.1-1.3 on GA media
These are all security issues fixed in the icinga2-2.13.1-1.3 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10856-1- Updated
- 2026-11-02
OSVSUSE-SU-2022:3725-1 No score
Security update for icinga2
This update for icinga2 fixes the following issues:
- CVE-2020-14004: prepare-dirs script allows for symlink attack in the icinga user context. (bsc#1172171)
- CVE-2020-29663: ignoring CRL, where revoked certificates due for renewal will automatically be renewed. (bsc#281137)
- CVE-2021-37698: Missing TLS server certificate validation in ElasticsearchWriter, GelfWriter, InfluxdbWriter and Influxdb2Writer. (bsc#281137)
- Record
SUSE-SU-2022:3725-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
icinga2Debian:12 |
before 2.11.5-1 | 2.11.5-1 |
icinga2Debian:13 |
before 2.11.5-1 | 2.11.5-1 |
icinga2Debian:14 |
before 2.11.5-1 | 2.11.5-1 |
icinga2SUSE:Linux Enterprise Module for HPC 12 |
before 2.8.2-3.6.1 | 2.8.2-3.6.1 |
icinga2Ubuntu:16.04:LTS |
All versions, plus listed versions 2.3.8-1build12.3.11-12.4.0-12.4.1-12.4.1-22.4.1-2ubuntu1 |
None known |
icinga2Ubuntu:18.04:LTS |
All versions, plus listed versions 2.7.0-12.8.1-0ubuntu2 |
None known |
icinga2Ubuntu:20.04:LTS |
All versions, plus listed versions 2.10.5-1build12.11.2-12.11.2-1ubuntu12.11.2-1ubuntu22.11.2-1ubuntu3 |
None known |
icinga2Ubuntu:22.04:LTS |
All versions, plus listed versions 2.12.3-12.13.1-12.13.2-12.13.2-1build12.13.2-1build2 |
None known |
icinga2Ubuntu:24.04:LTS |
All versions, plus listed versions 2.13.8-12.14.1-12.14.2-12.14.2-1build12.14.2-1build2 |
None known |
icinga2Ubuntu:25.10 |
All versions, plus listed versions 2.14.5-12.14.6-12.15.0-1 |
None known |
Show 7 moreShow less
| Package | Affected | Fixed |
|---|---|---|
icinga2Ubuntu:26.10 |
All versions, plus listed versions 2.15.1-12.16.1-12.16.3-12.16.4-1build12.16.5-1 |
None known |
icinga2Ubuntu:26.04:LTS |
All versions, plus listed versions 2.15.0-12.15.1-1 |
None known |
icinga2SUSE:Package Hub 15 SP1 |
before 2.12.1-bp152.4.3.1 | 2.12.1-bp152.4.3.1 |
icinga2SUSE:Package Hub 15 SP2 |
before 2.12.1-bp152.4.3.1 | 2.12.1-bp152.4.3.1 |
icinga2openSUSE:Leap 15.1 |
before 2.12.1-bp152.4.3.1 | 2.12.1-bp152.4.3.1 |
icinga2openSUSE:Leap 15.2 |
before 2.12.1-bp152.4.3.1 | 2.12.1-bp152.4.3.1 |
icinga2openSUSE:Tumbleweed |
before 2.13.1-1.3 | 2.13.1-1.3 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-14004 is a high vulnerability (CVSS 7.8) in Icinga, published June 12, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.74%, the 54th percentile. Fixed in icinga2 2.11.5-1.
References
bugzilla.suse.com/show_bug.cgi?id=CVE-2020-14004
github.com/Icinga/icinga2/pull/8045/commits/2f0f2e8c355b75fa4407d23f85feea037d2bc4b6
github.com/Icinga/icinga2/releases
openwall.com/lists/oss-security/2020/06/12/1
github.com/Icinga/icinga2/compare/v2.12.0-rc1...master
lists.opensuse.org/opensuse-security-announce/2020-11/msg00014.html
Show 21 moreShow less
nvd.nist.gov/vuln/detail/CVE-2020-14004
github.com/advisories/GHSA-xqhq-m8mv-g9wp
security-tracker.debian.org/tracker/CVE-2020-14004
suse.com/support/update/announcement/2022/suse-su-20223725-1
bugzilla.suse.com/1172171
bugzilla.suse.com/1180147
bugzilla.suse.com/1189653
suse.com/security/cve/CVE-2020-14004
suse.com/security/cve/CVE-2020-29663
suse.com/security/cve/CVE-2021-37698
ubuntu.com/security/CVE-2020-14004
bugzilla.suse.com/show_bug.cgi?id=1172171
github.com/Icinga/icinga2/commit/2f0f2e8c355b75fa4407d23f85feea037d2bc4b6
cve.org/CVERecord?id=CVE-2020-14004
lists.opensuse.org/archives/list/[email protected]/thread/ZD7VWVAWJW6BVEJDA2VL4JOZDY6R2CYT
bugzilla.suse.com/1159869
bugzilla.suse.com/1174075
suse.com/security/cve/CVE-2017-16933
suse.com/security/cve/CVE-2018-6534
suse.com/security/cve/CVE-2021-32739
suse.com/security/cve/CVE-2021-32743
Left out here: the rest of 1 source description. The JSON record has them.