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

CVE-2024-39901

CVE-2024-39901 Supply Chain Attack in Opensearch
📅 PUBLISHED: 2024-07-09 21:14 UTC 🔄 UPDATED: 2026-09-23 20:36 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm 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.29%
👁️
0.29% probability
7.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Patch available — upgrade to latest release
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
4.2
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-39901 is a missing authorization vulnerability in the OpenSearch Observability plugins, specifically affecting the access control for private tenant resources such as notebooks. The flaw allows authenticated users to access resources that belong to other users within the same private tenant, potentially leading to unauthorized data disclosure. The vulnerability has a CVSS score of 4.2 (Medium) and is patched in OpenSearch version 2.14.0. No public proof-of-concept or exploit code is currently available, and the EPSS score is 0.0%, indicating a low likelihood of exploitation in the wild.

⚡ 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

This vulnerability affects the OpenSearch project, which is distributed as a Docker image, RPM, DEB, and tarball. Users should verify the integrity of their OpenSearch installation by checking the official checksums and signatures. The patch is included in version 2.14.0, and users are advised to upgrade immediately. No known supply chain attacks have been reported for this specific CVE.

CVSS Breakdown & Threat Level

  • CVSS Score: 4.2 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: Low
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: Low
  • Integrity Impact: None
  • Availability Impact: None

The vulnerability is considered medium severity due to the requirement for authentication and the limited impact on confidentiality. However, in environments where sensitive data is stored in private tenant notebooks, the risk is elevated.

Deep Dive & Mechanics

The OpenSearch Observability plugins provide features like notebooks, which allow users to create and share data visualizations and queries. These resources can be stored in private tenants, which are intended to be accessible only by the resource author. The vulnerability arises from a missing authorization check in the API endpoints that handle resource access. Specifically, when a user requests a resource from a private tenant, the system does not verify that the requesting user is the same as the resource author. This allows any authenticated user to enumerate and access private notebooks.

The root cause is a lack of proper access control enforcement in the backend service. The fix in version 2.14.0 adds a check that compares the requesting user's identity with the resource owner's identity before granting access.

Vulnerable vs. Patched Code

The vulnerable code likely resides in the resource access handler. A simplified example:

Vulnerable (pseudo-code):

def get_notebook(notebook_id):
    notebook = db.get_notebook(notebook_id)
    if notebook.tenant == "private":
        # Missing check: if notebook.author != current_user:
        #     raise Forbidden
        return notebook
    else:
        # Public tenant access
        return notebook

Patched (pseudo-code):

def get_notebook(notebook_id):
    notebook = db.get_notebook(notebook_id)
    if notebook.tenant == "private":
        if notebook.author != current_user:
            raise Forbidden("You do not have access to this resource")
        return notebook
    else:
        # Public tenant access
        return notebook

The actual patch in OpenSearch 2.14.0 includes similar logic to ensure that private tenant resources are only accessible by their authors.

Exploitation & Lab Setup

Red Team

To simulate exploitation, set up an OpenSearch cluster with version 2.13.0 or earlier. Create two users: user1 and user2. As user1, create a private notebook. Then, as user2, attempt to access the same notebook via the API. If successful, the vulnerability is confirmed.

Example API request (as user2):

curl -k -u user2:password -X GET "https://opensearch:9200/_plugins/observability/notebook/12345"

If the response returns the notebook data, the system is vulnerable.

Blue Team

To detect exploitation attempts, monitor for unusual access patterns to private tenant resources. Look for API calls where the requesting user does not match the resource owner. Enable audit logging in OpenSearch and review logs for unauthorized access attempts.

Audit log query example:

{
  "query": {
    "bool": {
      "must": [
        { "match": { "event_type": "access_denied" } },
        { "match": { "resource_type": "notebook" } }
      ]
    }
  }
}

Indicators of Compromise (IOCs)

  • Log Entries: Repeated 403 Forbidden responses for notebook API endpoints.
  • API Calls: Unusual GET requests to /plugins/observability/notebook/* from users who are not the resource owner.
  • Network Traffic: Anomalous patterns of API calls targeting private tenant resources.

Detection Engineering

YARA Rule

rule CVE_2024_39901_OpenSearch_Observability {
    meta:
        description = "Detects potential exploitation of CVE-2024-39901 in OpenSearch Observability"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-39901"
    strings:
        $api_endpoint = "/_plugins/observability/notebook/"
        $private_tenant = "private"
    condition:
        $api_endpoint and $private_tenant
}

Sigma Rule

title: CVE-2024-39901 - Unauthorized Access to Private Tenant Resources
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects attempts to access private tenant notebooks without proper authorization
author: Valters IT
date: 2025-04-10
logsource:
    category: application
    product: opensearch
detection:
    selection:
        event_type: "access_denied"
        resource_type: "notebook"
        tenant: "private"
    condition: selection
falsepositives:
    - Legitimate access by resource owner
level: medium

Suricata Rule

alert http any any -> any any (
    msg:"CVE-2024-39901 - Unauthorized Access to Private Tenant Resources";
    flow:to_server;
    content:"/_plugins/observability/notebook/";
    http_uri;
    content:"private";
    http_uri;
    classtype:attempted-recon;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

  1. Upgrade OpenSearch: Immediately upgrade to version 2.14.0 or later.
  2. Apply Workarounds: If upgrade is not possible, restrict access to the Observability API using network policies or reverse proxy rules.
  3. Audit Access: Review access logs for any signs of unauthorized access to private tenant resources.
  4. Enable Authentication: Ensure that all users are authenticated and that API keys are properly managed.
  5. Monitor for Anomalies: Implement monitoring for unusual API access patterns.

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-39901/ · 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.