Skip to content

Configuration is susceptible to CSRF

High
nilmerg published GHSA-3mwp-5p5v-j6q3 Feb 8, 2024

Package

Icinga Director (Icinga)

Affected versions

>=1.0.0

Patched versions

1.8.2, 1.9.2, 1.10.3, 1.11.1

Description

Impact

Not any of Icinga Director's configuration forms used to manipulate the monitoring environment are protected against cross site request forgery. (CSRF)

It enables attackers to perform changes in the monitoring environment managed by Icinga Director without the awareness of the victim.

There are two ways this can happen and both need to lure an unsuspecting user, which is currently logged into Icinga Web with the appropriate access rights, to:

Visit a Specially Crafted Website

A website set up by the attacker may be able to manipulate the monitoring environment, if a user visits or interacts with it. In the worst case, just visiting the website triggers multiple changes.

The browser must permit transmission of access credentials during cross-origin requests for this to work.

Modern browsers used today, impose several security measures against this though:

  • Firefox uses a way to protect cookies called Total Cookie Protection [1] and is enabled by default since April 2023
  • Safari uses a similar method called Prevent cross-site tracking [2] available in the privacy preferences
  • Chrome/Opera/Edge rely on a cookie attribute and will apply a suitable default since February 2020 [3] if not set, which is the case for Icinga Web

Click a Specially Crafted URL

Known vulnerabilities in Icinga Web [4] and the map module by Nicola Buchwitz [5] may allow the attacker to bypass any security measures imposed by a browser by use of cross-site scripting. (XSS)

Users of the map module in version 1.x, should immediately upgrade to v2.0. The mentioned XSS vulnerabilities in Icinga Web are already fixed as well and upgrades to the most recent release of the 2.9, 2.10 or 2.11 branch must be performed if not done yet. Any later major release is also suitable, of course.

What can you do?

Icinga Director will receive minor updates to the 1.8, 1.9, 1.10 and 1.11 branches to remedy this issue.

Upgrade immediately to a patched release. If that is not feasible, disable the director module for the time being.

Have you already been attacked?

Since an attacker is able to manipulate everything the Icinga Director allows to adjust, the manipulations may be substantial. Some require distinct knowledge of the monitoring system, but many do not. You should check for unknown objects and suspicious changes in these key areas:

  • Commands and Templates
  • Import-Sources

As long as Icinga Director isn't upgraded and patched, make sure to also keep an eye on the Activity Log as this might also contain suspicious entries.

In very rare cases, the attacker might have been able to gain limited system access. If Icinga is running on a host which is able to connect to the Internet, make sure to check network activity for suspicious connections.

References

  1. https://blog.mozilla.org/en/mozilla/firefox-rolls-out-total-cookie-protection-by-default-to-all-users-worldwide/
  2. https://support.apple.com/en-is/guide/safari/sfri11471/16.0
  3. https://www.chromium.org/updates/same-site/
  4. https://github.com/Icinga/icingaweb2/issues?q=is%3Aissue++is%3Aclosed+4979+4960+4947
  5. nbuchwitz/icingaweb2-module-map#86

Severity

High

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
High
User interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
Low

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:L

CVE ID

CVE-2024-24820

Weaknesses