Safeguard
Vulnerability Analysis•

CVE-2023-6740: High Privilege Escalation in Checkmk jar_signature

CVE-2023-6740 lets a malicious oracle user reach root via Checkmk's jar_signature plugin. Update to 2.2.0p18, 2.1.0p38 or 2.0.0p39, or disable the plugin.

Safeguard Security Team
3 min read

CVE-2023-6740 is a high severity (CVSS 8.8) privilege escalation in the jar_signature agent plugin of Checkmk, fixed in 2.2.0p18, 2.1.0p38 and 2.0.0p39. A malicious oracle user could get root. Deploy the new plugin or disable it. Hosts without that plugin are not in scope.

What's affected

The vendor advisory (Werk 16163) lists the affected versions as 2.2.0, 2.1.0 and 2.0.0 (end of life) and older, and the fixed releases as 2.2.0p18, 2.1.0p38, 2.0.0p39 and 2.3.0b1 builds. The plugin is configured by the bakery rule named Signatures of certificates in JAR files, so only hosts that use that rule are in scope.

The vendor classifies the change as Major and incompatible for users of the plugin, and says to deploy the new plugin version or disable it to avoid risk.

How to check if you're exposed

Look for the plugin on hosts that run Oracle monitoring.

ls /usr/lib/check_mk_agent/plugins/ | grep -i jar_signature

In the Checkmk interface, review the agent bakery rules and see whether the Signatures of certificates in JAR files rule is assigned to any host. Then compare your Checkmk version to the fixed releases.

What to do now

  1. Update Checkmk to 2.2.0p18, 2.1.0p38, 2.0.0p39 or newer.
  2. Rebake and redeploy agents so hosts receive the corrected jar_signature plugin.
  3. If you cannot update, disable the jar_signature plugin, as the vendor advises.
  4. Review who can write to JAVA_HOME directories on Oracle hosts.

Why it matters

According to the vendor, the plugin ran as root but invoked the jarsigner binary from a directory the oracle user controlled. A malicious oracle user could replace jarsigner with their own script in the JAVA_HOME directory, and root would run it. The fix runs jarsigner as the oracle user instead.

The record tags CWE-427, uncontrolled search path element, and CWE-269. The pattern is simple and common: a privileged process executes something from a place a less privileged user can write to. The same shape shows up in installers, cron jobs and backup agents.

Desktop and agent software is easy to miss because it sits outside the usual server patch cycle. Build a list of where it runs, push the update through your software deployment tool, and confirm the installed version afterward rather than trusting the job status.

Weakness class in the record: CWE-427 (Uncontrolled Search Path Element) CWE-269 (Improper Privilege Management).

Quick check

What if we do not use the JAR signature rule?

Then the plugin is not deployed by the bakery on those hosts and the specific path in the advisory does not apply. Updating to a fixed release is still sensible.

How do I confirm the fix landed?

Check the version on a sample of hosts after rollout and keep the output as evidence. Deployment tools can report success while some hosts miss the update.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.