Werk 17074 was adapted. The following is the new Werk, a diff is shown at the end of the message.
[//]: # (werk v2)
# msexch_database: Use consistent units (ms/s) in rules & graphs
key | value
---------- | ---
date | 2024-06-18T07:20:14+00:00
version | 2.4.0b1
class | fix
edition | cee
component | checks
level | 1
compatible | yes
The msexch_database reported its values in ms in the summary/ruleset but
displayed the same value as seconds in the graph. With this werk, all
units will be reported consistently.
------------------------------------<diff>-------------------------------------------
[//]: # (werk v2)
- # MS Exchange: Use consistent units (ms/s) in rules & graphs
? ^^^^ ^^
+ # msexch_database: Use consistent units (ms/s) in rules & graphs
? ^^^ ++ ^^^^^
key | value
---------- | ---
date | 2024-06-18T07:20:14+00:00
version | 2.4.0b1
class | fix
edition | cee
component | checks
level | 1
compatible | yes
- Various msexch_* checks reported its values in ms in the summary/ruleset
? ^^^^^^^ ^^^^ ---
+ The msexch_database reported its values in ms in the summary/ruleset but
? ^^^ ^^^^^^^ ++++
- but displayed the same value as seconds in the graph. With this werk,
? ----
+ displayed the same value as seconds in the graph. With this werk, all
? ++++
- all units will be reported consistently.
? ----
+ units will be reported consistently.
[//]: # (werk v2)
# MS Exchange: Use consistent units (ms/s) in rules & graphs
key | value
---------- | ---
compatible | yes
version | 2.4.0b1
date | 2024-07-08T10:10:57+00:00
level | 1
class | fix
component | checks
edition | cre
The checks msexch_isclienttype, msexch_isstore, msexch_rpcclientaccess reported
their values in ms in the summary/ruleset but displayed the same value as
seconds in the graph. With this werk, all MS Exchange checks now report their
values consistently.
[//]: # (werk v2)
# Filesystem: Use MiB instead of MB in Check Summary
key | value
---------- | ---
date | 2024-07-04T09:29:10+00:00
version | 2.4.0b1
class | fix
edition | cre
component | checks
level | 1
compatible | yes
In version 2.3.0, the Filesystem Checks have been adapted to render bytes in the format
`11.1 kb`. This has been changed back to `10.9 KiB`. This is how it was rendered in the 2.2.0.
It also consistent with the graphs used by these checks.
[//]: # (werk v2)
# Delete PDF tmp files older one day
key | value
---------- | ---
date | 2024-07-08T07:04:56+00:00
version | 2.4.0b1
class | fix
edition | cre
component | wato
level | 1
compatible | yes
Werk #15125 introduced a cleanup mechanism for old PFD tmp files but deleted
files older 48hours.
Now files older than one day are deleted.
Werk 16434 was adapted. The following is the new Werk, a diff is shown at the end of the message.
[//]: # (werk v2)
# Synthetic Monitoring: Privilege Escalation
key | value
---------- | ---
date | 2024-06-24T14:56:31+00:00
version | 2.4.0b1
class | security
edition | cee
component | agents
level | 1
compatible | yes
The Robotmk scheduler was affected by a privilege escalation issue. This issue affects users, which
have configured the rule `Robotmk scheduler (Windows)`. Specifically, an attacker is able to exploit
the issue, if
1. `Automated environment setup (via RCC)` was configured in the `Robotmk scheduler (Windows)` rule,
2. the same plan was configured without configuring `Execute plan as a specific user`
3. and a user on the host, onto which the scheduler has been deployed, was compromised.
In this event, the attacker could gain SYSTEM privileges on the host. If `Execute plan as a specific
user` _is_ configured, then the attacker could compromise that specific user, rather than SYSTEM.
There is a second similar, but distinct issue. If
- there are two or more plans configured with `Execute plan as a specific user` with distinct users
- and one of the configured users was already compromised.
The attacker could then compromise the other user.
*Background*:
The Robotmk scheduler is started by the Checkmk agent that runs with SYSTEM privileges.
Moreover, Robotmk allows the user to automatically build Python environments via RCC. During setup
the scheduler would enable a RCC feature called `shared holotree usage`. This feature allows all
users on the host to edit these Python environments. Thus, any compromised user on the host is also
able to compromise a user, which executes code from these shared environments.
With this Werk, `shared holotree usage` will no longer be enabled. Affected users will have their
access to the vulnerable Python environments revoked. Moreover, the permissions inside of the
working directory of Robotmk have been reworked. Users now only have access to directories, which
are required for their own executions.
Note, you must update both Checkmk and redeploy the latest Robotmk Scheduler.
*Affected Versions*:
* 2.3.0
*Mitigations*:
If updating is not possible:
* Do not use the rule `Automated environment setup (via RCC)`.
* Always use the same user for `Execute plan as a specific user`.
*Vulnerability Management*:
We have rated the issue with a CVSS Score of 7.8 (High) with the following CVSS vector:
`CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H`.
CVE-2024-39934 has been assigned to this issue.
------------------------------------<diff>-------------------------------------------
[//]: # (werk v2)
# Synthetic Monitoring: Privilege Escalation
key | value
---------- | ---
date | 2024-06-24T14:56:31+00:00
version | 2.4.0b1
class | security
edition | cee
component | agents
level | 1
compatible | yes
The Robotmk scheduler was affected by a privilege escalation issue. This issue affects users, which
have configured the rule `Robotmk scheduler (Windows)`. Specifically, an attacker is able to exploit
the issue, if
1. `Automated environment setup (via RCC)` was configured in the `Robotmk scheduler (Windows)` rule,
2. the same plan was configured without configuring `Execute plan as a specific user`
3. and a user on the host, onto which the scheduler has been deployed, was compromised.
In this event, the attacker could gain SYSTEM privileges on the host. If `Execute plan as a specific
user` _is_ configured, then the attacker could compromise that specific user, rather than SYSTEM.
There is a second similar, but distinct issue. If
- there are two or more plans configured with `Execute plan as a specific user` with distinct users
- and one of the configured users was already compromised.
The attacker could then compromise the other user.
*Background*:
The Robotmk scheduler is started by the Checkmk agent that runs with SYSTEM privileges.
Moreover, Robotmk allows the user to automatically build Python environments via RCC. During setup
the scheduler would enable a RCC feature called `shared holotree usage`. This feature allows all
users on the host to edit these Python environments. Thus, any compromised user on the host is also
able to compromise a user, which executes code from these shared environments.
With this Werk, `shared holotree usage` will no longer be enabled. Affected users will have their
access to the vulnerable Python environments revoked. Moreover, the permissions inside of the
working directory of Robotmk have been reworked. Users now only have access to directories, which
are required for their own executions.
Note, you must update both Checkmk and redeploy the latest Robotmk Scheduler.
*Affected Versions*:
* 2.3.0
*Mitigations*:
If updating is not possible:
* Do not use the rule `Automated environment setup (via RCC)`.
* Always use the same user for `Execute plan as a specific user`.
*Vulnerability Management*:
We have rated the issue with a CVSS Score of 7.8 (High) with the following CVSS vector:
- `CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H` and requested a CVE.
? --------------------
+ `CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H`.
+ CVE-2024-39934 has been assigned to this issue.
[//]: # (werk v2)
# redis: Add Log Rotation
key | value
---------- | ---
date | 2024-07-08T06:33:26+00:00
version | 2.4.0b1
class | fix
edition | cre
component | omd
level | 1
compatible | yes
Previously, the file `var/log/redis-server.log` would not be rotated. If you are unable to upgrade,
you can adjust the file in `$OMD_ROOT/etc/logrotate.d/redis`.
[//]: # (werk v2)
# Fix automatic host removal in case one remote site is not logged in
key | value
---------- | ---
date | 2024-07-08T06:09:01+00:00
version | 2.4.0b1
class | fix
edition | cre
component | wato
level | 1
compatible | yes
The automatic host removal job is executed regularly in the background to remove
hosts from the monitoring once they cease to exist. In particular for but not
limited to automatically registered hosts.
This job failed in case one remote site was configured but not logged in, not
only affecting the not logged in site, but all sites. The not logged in site is
now being skipped, leaving the mechanism intact for all other sites.
Title: Fix missing CSRF token issues
Class: fix
Compatible: compat
Component: wato
Date: 1719997630
Edition: cre
Level: 1
Version: 2.1.0p45
Werk #17090 in Checkmk 2.3.0p8 and 2.2.0p29 introduced additional CSRF token checks in the GUI.
This caused some buttons to not work anymore because the CSRF token was missing, including, but likely not limited to:
LI: "Synchronize users" in Setup > Users to manually trigger the LDAP sync (the background sync still runs)
LI: "Show analysis" and "Show bulks" in Setup > Events > Notifications
LI: Reordering notification rules via drag-and-drop in the same view
LI: "Bake agents" in the agent bakery (as a workaround, use "Bake and sign agents")
LI: "Acknowledge last baking result" when a bake job failed (as a workaround, delete the failed job instead)
This Werk fixes the issues by adding the token.
Title: Fix local IP restriction of internal HTTP endpoints
Class: security
Compatible: compat
Component: wato
Date: 1718804769
Edition: cre
Level: 1
Version: 2.1.0p45
Checkmk has some complex functionalities that are hidden behind an internal HTTP endpoint page.
These pages are only meant to be accessed by internal processes, e.g. a cron runner or creating diagrams for notifications.
Therefore these pages are protected to be only accessible locally.
In order to recognize the client IP through the usage of a reverse proxy Checkmk uses the <code>X-Forwarded-For</code> header.
That header is added and complemented by <code>mod_proxy</code> and usually trustworthy.
When the site apache is exposed directly to the network though (e.g. the default docker setup) no proxy apache is there to curate this header.
To mitigate this the site apache is supposed to filter these internal page URIs to be only accessible by localhost.
This mitigation failed due to some outdated configuration and wrong configuration ordering.
This only affects systems which expose the site apache port to the network typically 5000.
If you run Checkmk behind a reverse proxy (the default if you installed a installation package) you are not affected!
This vulnerability was identified in a commissioned penetration test conducted by PS Positive Security GmbH.
<strong>Affected Versions</strong>:
LI: 2.3.0
LI: 2.2.0
LI: 2.1.0
LI: 2.0.0 (probably older versions as well)
<strong>Mitigations</strong>:
You can add the following configuration to the site apache configuration, e.g. <code>etc/apache/conf.d/zzz_werk17011.conf</code>:
C+:
<Location "/###SITE###/check_mk/run_cron.py">
Order deny,allow
Deny from all
Require local
Satisfy any
</Location>
# Webservice for graph images used by notifications
<Location "/###SITE###/check_mk/ajax_graph_images.py">
Order deny,allow
Deny from all
Require local
Satisfy any
</Location>
C-:
<strong>Indicators of Compromise</strong>:
You can check the apache access log <code>var/log/apache/access_log</code> for calls to <code>run_cron.py</code> or <code>ajax_graph_images.py</code> from network hosts.
E.g. <code>grep --extended-regexp "^[^-].+(run_cron|ajax_graph_images.py)" var/log/apache/access_log</code>
<strong>Vulnerability Management</strong>:
We have rated the issue with a CVSS Score of 5.3 (Medium) with the following CVSS vector:
<code>CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N</code>.
We assigned CVE-2024-6163 to this vulnerability.
<strong>Changes</strong>:
This Werk fixes the configuration syntax and ordering.
Werk 16437 was adapted. The following is the new Werk, a diff is shown at the end of the message.
Title: omd: Improve Runtime with Many Sites
Class: fix
Compatible: compat
Component: omd
Date: 1720082692
Edition: cre
Level: 2
Version: 2.2.0p31
With this Werk, all invocations of the <tt>omd</tt> command line tool are faster.
This Werk should not affect behaviour in any other way. The performance improvements
mostly affect hosts, which have a high number of sites.
------------------------------------<diff>-------------------------------------------
Title: omd: Improve Runtime with Many Sites
Class: fix
Compatible: compat
Component: omd
Date: 1720082692
Edition: cre
Level: 2
Version: 2.2.0p31
- With this Werk, the all invocations of the <tt>omd</tt> command line tool are faster.
? ----
+ With this Werk, all invocations of the <tt>omd</tt> command line tool are faster.
This Werk should not affect behaviour in any other way. The performance improvements
- should largely affect hosts, which have a high number of sites.
? ^^^^^^^^^^^
+ mostly affect hosts, which have a high number of sites.
? ++ ^