☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Checkmk logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6.3 🐛 CWE-863
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-7765

CVE-2026-7765 Improper Authorization in Checkmk
📅 PUBLISHED: 2026-06-08 13:16 UTC 🔄 UPDATED: 2026-08-18 17:14 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.19%
👁️
0.19% probability
4.7× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Germany License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
6.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-7765 is an incorrect authorization vulnerability in the Checkmk monitoring solution, specifically within the User Messages dashboard widget. The flaw allows an unauthenticated attacker who possesses a valid public dashboard share token to read the personal messages of the dashboard creator. This occurs because the message-fetching endpoints incorrectly return the dashboard creator's messages instead of the viewer's messages. The vulnerability affects Checkmk versions prior to 2.5.0p5. The CVSS score is 0.0 (pending analysis), but based on the description, the impact is limited to unauthorized disclosure of personal messages, with no impact on integrity or availability.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

Checkmk is a proprietary monitoring solution, not distributed via NPM, PyPI, Go, or Ruby. Therefore, no supply chain package security analysis is applicable.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – The vulnerability can be exploited remotely over the network.
  • Attack Complexity (AC): Low (L) – No special conditions are required; the attacker only needs a valid public dashboard share token.
  • Privileges Required (PR): None (N) – No authentication is required to exploit the vulnerability.
  • User Interaction (UI): None (N) – The victim does not need to perform any action.
  • Scope (S): Unchanged (U) – The vulnerable component and the impacted component are the same.
  • Confidentiality (C): Low (L) – Only personal messages are disclosed, not system-level data.
  • Integrity (I): None (N) – No data modification is possible.
  • Availability (A): None (N) – No denial of service impact.

Threat Level: Medium (due to low confidentiality impact and requirement of a valid share token).

Deep Dive & Mechanics

The vulnerability resides in the User Messages dashboard widget's backend endpoints. When a dashboard is shared publicly via a share token, the widget is designed to display messages intended for the viewer. However, due to incorrect authorization logic, the endpoint responsible for fetching messages returns the messages of the dashboard creator (the user who created the shared dashboard) instead of the viewer.

Root Cause: The authorization check fails to properly scope the message retrieval to the viewer's identity. Instead, it uses the dashboard creator's identity when processing the request, leading to unauthorized disclosure.

Attack Vector: An attacker must first obtain a valid public dashboard share token. This token is typically a UUID or similar identifier that is generated when a user shares a dashboard publicly. Once the token is obtained, the attacker can send crafted HTTP requests to the message-fetching endpoint (e.g., /checkmk/api/1.0/dashboard/{token}/messages) to retrieve the creator's personal messages.

Impact: The attacker can read personal messages intended for the dashboard creator. These messages could contain sensitive information, such as internal communications, alerts, or credentials.

Vulnerable vs. Patched Code

Vulnerable Code (Checkmk < 2.5.0p5): The vulnerable code likely resides in the backend handler for the message-fetching endpoint. A simplified pseudocode example:

def get_messages(dashboard_token):
    dashboard = get_dashboard_by_token(dashboard_token)
    # Incorrectly uses dashboard creator's ID
    messages = fetch_messages_for_user(dashboard.creator_id)
    return messages

Patched Code (Checkmk >= 2.5.0p5): The patched code correctly identifies the viewer (or the user associated with the request context) and fetches messages for that user:

def get_messages(dashboard_token, request_user):
    dashboard = get_dashboard_by_token(dashboard_token)
    # Correctly uses the viewer's ID
    messages = fetch_messages_for_user(request_user.id)
    return messages

The patch ensures that the message-fetching endpoint respects the viewer's identity, even when accessed via a public share token.

Exploitation & Lab Setup

Red Team (Attacker) Perspective

Prerequisites:

  • A valid public dashboard share token from a Checkmk instance (version < 2.5.0p5).
  • Network access to the Checkmk server.

Exploitation Steps:

  1. Obtain a public dashboard share token (e.g., via social engineering, OSINT, or by finding it in a public repository).
  2. Send a GET request to the message-fetching endpoint:
    GET /checkmk/api/1.0/dashboard/{token}/messages HTTP/1.1
    Host: target-checkmk-server
    
  3. The response will contain the personal messages of the dashboard creator.

Example cURL command:

curl -X GET "https://target-checkmk-server/checkmk/api/1.0/dashboard/abc123-def456-ghi789/messages"

Expected Output:

{
  "messages": [
    {"id": 1, "text": "Sensitive internal message", "timestamp": "2026-01-01T00:00:00Z"},
    {"id": 2, "text": "Another message", "timestamp": "2026-01-02T00:00:00Z"}
  ]
}

Blue Team (Defender) Perspective

Detection:

  • Monitor for unusual access to dashboard API endpoints, especially those containing /dashboard/{token}/messages.
  • Look for requests where the Referer header does not match the expected dashboard page.
  • Alert on multiple failed attempts to access different share tokens (brute-force detection).

Hunting:

  • Search logs for requests to /checkmk/api/1.0/dashboard/*/messages from IP addresses not associated with legitimate users.
  • Correlate with dashboard share token creation events to identify potential token leakage.

Mitigation:

  • Immediately upgrade to Checkmk 2.5.0p5 or later.
  • If upgrade is not possible, disable public dashboard sharing or restrict access to the API endpoint via firewall rules.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests to /checkmk/api/1.0/dashboard/{token}/messages where {token} is a valid share token.
    • Unusual User-Agent strings or missing Referer headers in such requests.
  • Log IOCs:
    • Checkmk access logs showing repeated 200 responses for the message-fetching endpoint from unknown IPs.
    • Dashboard share token creation events followed by unauthorized access attempts.
  • File IOCs:
    • None (the vulnerability is server-side and does not leave files on the client).

Detection Engineering

YARA Rule

rule CVE_2026_7765_Checkmk_Messages_Exposure {
    meta:
        description = "Detects requests to Checkmk User Messages endpoint with a share token"
        author = "Valters IT"
        date = "2026-01-01"
        reference = "CVE-2026-7765"
    strings:
        $endpoint = "/checkmk/api/1.0/dashboard/"
        $messages = "/messages"
    condition:
        $endpoint at 0 and $messages at (filesize - 9)
}

Sigma Rule

title: Checkmk User Messages Unauthorized Access
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects attempts to exploit CVE-2026-7765 by accessing the User Messages endpoint with a share token.
author: Valters IT
date: 2026/01/01
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-uri-stem|contains: "/checkmk/api/1.0/dashboard/"
        cs-uri-stem|endswith: "/messages"
    condition: selection
falsepositives:
    - Legitimate dashboard sharing by authorized users
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2026-7765 Checkmk User Messages Exposure"; flow:to_server; content:"/checkmk/api/1.0/dashboard/"; http_uri; content:"/messages"; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade Checkmk to version 2.5.0p5 or later. This is the only complete fix.
  2. Disable public dashboard sharing if upgrade is not immediately possible.
  3. Restrict network access to the Checkmk API endpoint using firewall rules or WAF policies.

Long-Term Measures:

  • Implement strict authorization checks for all API endpoints, especially those involving shared resources.
  • Conduct a security audit of all dashboard-related functionality.
  • Monitor for similar vulnerabilities in future Checkmk releases.

Workarounds:

  • If upgrade is delayed, consider removing the User Messages widget from all public dashboards.
  • Use a reverse proxy to block requests to /checkmk/api/1.0/dashboard/*/messages unless they come from trusted IPs.

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-7765/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.