CVE-2025-61907

6.5 MEDIUM

📋 TL;DR

This vulnerability allows authenticated API users in Icinga 2 to bypass permission restrictions and access sensitive information they shouldn't have access to. Attackers can exploit filter expressions in API endpoints to view global variables and objects hidden by permissions. All Icinga 2 installations with API access are affected.

💻 Affected Systems

Products:
  • Icinga 2
Versions: 2.4 through 2.15.0
Operating Systems: All platforms running Icinga 2
Default Config Vulnerable: ⚠️ Yes
Notes: All installations with API enabled are vulnerable. The API is typically enabled by default in Icinga 2 configurations.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain full visibility into monitoring infrastructure, including sensitive configuration data, credentials in variables, and all monitored objects, potentially enabling further attacks.

🟠

Likely Case

Unauthorized access to sensitive monitoring data, configuration details, and potentially credential information stored in global variables.

🟢

If Mitigated

Limited information disclosure if strict network segmentation and minimal API permissions are already in place.

🌐 Internet-Facing: HIGH if API is exposed to internet, as authenticated users can exploit this vulnerability remotely.
🏢 Internal Only: MEDIUM for internal networks, as attackers still need API credentials but can escalate privileges once authenticated.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires authenticated API access. Attackers need valid credentials but can then bypass permission checks using crafted filter expressions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.15.1, 2.14.7, or 2.13.13

Vendor Advisory: https://github.com/Icinga/icinga2/security/advisories/GHSA-gg32-w9rm-vp2v

Restart Required: No

Instructions:

1. Identify your current Icinga 2 version. 2. Upgrade to 2.15.1, 2.14.7, or 2.13.13 based on your maintenance branch. 3. Verify the upgrade completed successfully. 4. No service restart required for patch application.

🔧 Temporary Workarounds

Restrict API Access

all

Limit API access to trusted networks and users only

# Configure firewall rules to restrict access to Icinga API port (default 5665)
# Example: iptables -A INPUT -p tcp --dport 5665 -s trusted_network -j ACCEPT
# Example: iptables -A INPUT -p tcp --dport 5665 -j DROP

Minimize API Permissions

all

Reduce API user permissions to minimum required

# Review and tighten API user permissions in Icinga configuration
# Example: object ApiUser "limited_user" { password = "secret", permissions = [ "objects/query/host" ] }

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate Icinga API from untrusted networks
  • Review and audit all API user accounts, removing unnecessary accounts and minimizing permissions

🔍 How to Verify

Check if Vulnerable:

Check Icinga 2 version and compare against affected range (2.4-2.15.0)

Check Version:

icinga2 --version

Verify Fix Applied:

Verify version is 2.15.1, 2.14.7, or 2.13.13 or higher

📡 Detection & Monitoring

Log Indicators:

  • Unusual API query patterns
  • Multiple failed permission checks followed by successful queries
  • API requests with complex filter expressions

Network Indicators:

  • Unusual volume of API requests to /v1/objects endpoints
  • API requests from unexpected sources

SIEM Query:

source="icinga2" AND (uri_path="/v1/objects/*" AND (filter_expression CONTAINS "*" OR response_size > threshold))

🔗 References

📤 Share & Export