Icinga 2
CVE-2025-61907
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privileged API credentials
-
DeliveryCraft filter expression referencing restricted globals/objects
-
ExploitSubmit to /v1/objects endpoint
-
ExecutionServer evaluates against full namespace
-
ImpactExfiltrate TicketSalt and hidden objects
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated Icinga 2 API user (PR:L) who already holds some API permissions but is deliberately restricted via the |
| Impact | This is a moderate-severity information disclosure flaw (CWE-200) that is a real but not urgent priority. The CVSS 4.0 vector (AV:N/AC:L/PR:L/UI:N) confirms network-reachable, low-complexity exploitation but requires PR:L - an authenticated API user with existing but limited permissions - which meaningfully narrows the attacker population to insiders or anyone who has already obtained valid API credentials. Impact is bounded to confidentiality (VC:H, VI:N, VA:N): the bug lets a user bypass the |
| Exploit ScenarioDerived | An authenticated Icinga 2 API user with only limited object/variable permissions sends a request to a /v1/objects endpoint containing a crafted filter expression that references globals or objects outside their granted scope. The server evaluates the filter against the full global namespace and returns or reveals data the user should not see, including the TicketSalt global and otherwise-restricted config objects. No public exploit code was identified, but the fix commit documents the exact leak path, lowering the barrier to reproduction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 09, 2026
Information disclosure in Icinga 2 versions 2.4 through 2.15.0 allows an authenticated API user to escape the very restrictions meant to constrain them: filter expressions submitted to the /v1/objects endpoints can reach global variables (including the sensitive TicketSalt) and configuration objects that the user's variables and objects/query permissions explicitly deny. Exploitation requires valid API credentials plus a reachable API and is confidentiality-only - no modification or denial of service - giving it moderate severity (CVSS 3.1 7.1-class impact with scope change, C:H/I:N/A:N) rather than an urgent one. Vendor-released fixes are available in 2.15.1, 2.14.7, and 2.13.13; no public exploit code and no confirmed active exploitation were identified at time of analysis, and EPSS is low at roughly 0.40% (33rd percentile).
RemediationAI
Vendor-released patch: upgrade to Icinga 2.15.1, 2.14.7, or 2.13.13 depending on your maintenance branch (advisory: https://github.com/Icinga/icinga2/security/advisories/GHSA-gg32-w9rm-vp2v; upstream fix commit: https://github.com/Icinga/icinga2/commit/56255ac7a689b9e198742d2fca6f7459a54c85a3). Until upgrading, treat any API user whose access is enforced only through filter expressions as potentially able to read anything the API process can see - the reliable compensating control is to stop relying on variables/objects/query filter restrictions and instead fully remove the variables and objects/query permissions from untrusted API accounts (side effect: those accounts lose legitimate object-query functionality entirely, which may break dashboards or integrations). Additionally, restrict API exposure to trusted management networks or a reverse proxy with allow-listing, since valid credentials plus reachability are the only prerequisites (side effect: remote integrations and agents connecting from other networks will fail unless allowed explicitly); if API accounts cannot be trimmed, disabling the /v1/objects endpoints or the API service itself is the strongest mitigation but breaks Icinga Web 2 and agent/API integrations. Because the leaked global namespace explicitly includes TicketSalt, rotate TicketSalt after upgrading and audit agent registrations and API access logs for evidence that tickets were forged or restricted objects were enumerated; rotate credentials for any over-privileged or low-trust API user as a precaution.
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
Icinga 2 is a monitoring system whose REST API exposes /v1/objects endpoints backed by an embedded DSL interpreter used to evaluate user-supplied filter expressions. Those expressions run inside ScriptFrame objects, thread-local execution contexts that were designed to track whether execution is "Sandboxed" and what a caller is permitted to see. The root cause (CWE-200) is that ScriptFrame bound its Self reference directly to the global namespace via ScriptGlobal::GetGlobals() without any permission mediation, so a filter expression evaluated in a sandboxed context could still resolve global variables and ConfigObject instances outside the caller's authorization. The upstream fix introduces a ScriptPermissionChecker with CanAccessGlobalVariable() and CanAccessConfigObject() hooks, threads a PermChecker pointer through inherited frames, and adds a lazily built, cached sanitized copy of the global namespace (ScriptFrame::Globals). That sanitized namespace explicitly omits TicketSalt and any key the permission checker rejects, while deliberately retaining the Types, System, and Icinga sub-namespaces because ScopeExpression expects them. The scope change in the assessed vector (S:C) reflects that the leak crosses a security boundary - the API scripting context reads data belonging to resources outside its authorized scope - while the C:H score reflects that disclosure of TicketSalt or restricted config objects can be materially sensitive, particularly since TicketSalt underpins Icinga agent ticket signing.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:L/SI:N/SA:N
Network API with low-privileged auth (PR:L) and no UI; confidentiality-only (C:H, I/A:N), and S:C because leaked TicketSalt crosses the security authority into node-registration trust.
Primary rating from Vendor (github).
CVSS VectorVendor: github
DescriptionCVE.org
Icinga 2 is an open source monitoring system. In Icinga 2 versions 2.4 through 2.15.0, filter expressions provided to the various /v1/objects endpoints could access variables or objects that would otherwise be inaccessible for the user. This allows authenticated API users to learn information that should be hidden from them, including global variables not permitted by the variables permission and objects not permitted by the corresponding objects/query permissions. The vulnerability is fixed in versions 2.15.1, 2.14.7, and 2.13.13.
Executive ViewAI
Organizations running Icinga 2 versions 2.4 through 2.15.0 face a high-severity information disclosure that can allow API users with valid credentials to retrieve sensitive global variables, including the TicketSalt, and configuration objects their permissions are designed to restrict. No public exploit identified at time of analysis, and vendor-released patches are available in 2.15.1, 2.14.7, and 2.13.13. Leadership should prioritize remediation because the affected monitoring platform may expose security-sensitive secrets and data to users who should not have access, potentially weakening trust in the monitoring environment.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)CVE.org
Multiple stack-based buffer overflows in the get_history function in history.cgi in Nagios Core before 3.4.4, and Icinga
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
Icinga Web 2 before 2.6.2 allows injection of PHP ini-file directives via vectors involving environment variables as the
Icinga Web 2 is an open source monitoring web interface, framework and command-line interface. Rated high severity (CVSS
Icinga is a monitoring system which checks the availability of network resources, notifies users of outages, and generat
Icinga is a monitoring system which checks the availability of network resources, notifies users of outages, and generat
Icinga Director is a tool designed to make Icinga 2 configuration handling easy. Rated high severity (CVSS 8.3), this vu
An issue was discovered in Icinga2 before v2.12.0-rc1. Rated high severity (CVSS 7.8), this vulnerability is low attack
Icinga Web 2 is an open source monitoring web interface, framework and command-line interface. Rated high severity (CVSS
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
Icinga Web 2 before 2.6.2 allows parameters that break navigation dashlets, as demonstrated by a single '$' character as
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
NVD
CVE.org
EPSS
GitHub
Exploit-DB