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

CVE-2024-37777

CVE-2024-37777 Remote Code Execution in O2oa
📅 PUBLISHED: 2025-08-27 00:00 UTC 🔄 UPDATED: 2026-08-12 11:30 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.53%
👁️
0.53% probability
13.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: China License: Open Source
VULNERABLE: O2OA v9.0.3
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
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-37777 is a critical Remote Code Execution (RCE) vulnerability discovered in O2OA v9.0.3, specifically within the mainOutput() function. This flaw allows an unauthenticated attacker to execute arbitrary code on the target server, potentially leading to full system compromise. The vulnerability is classified under CWE-94 (Improper Control of Generation of Code - Code Injection). As of this report, no official patch has been released, and no public proof-of-concept (PoC) code is available. The EPSS score is 0.0%, indicating low exploitation activity in the wild, but the severity remains high due to the potential impact.

⚡ 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

CVSS Breakdown & Threat Level

The CVSS vector is currently unknown due to insufficient data from the NVD. However, based on the nature of the vulnerability (RCE via a function), a reasonable estimate would be:

  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): None (N)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): High (H)
  • Integrity (I): High (H)
  • Availability (A): High (H)

Estimated CVSS Score: 9.8 (Critical)

Threat Level: Critical. The vulnerability allows unauthenticated remote code execution, which is the most severe type of security flaw.

Deep Dive & Mechanics

The vulnerability resides in the mainOutput() function of O2OA v9.0.3. O2OA is a Java-based enterprise collaboration platform. The mainOutput() function is likely part of a module that handles output generation or data processing. The exact mechanism is not publicly documented, but based on the CWE-94 classification, it involves improper sanitization of user-supplied input that is later used in code generation or execution.

Potential Attack Vector:

  1. An attacker sends a specially crafted HTTP request to the vulnerable endpoint.
  2. The request contains malicious payload in parameters that are passed to the mainOutput() function.
  3. The function fails to validate or sanitize the input, allowing it to be interpreted as code (e.g., Java, JavaScript, or other scripting languages supported by the platform).
  4. The injected code is executed in the context of the application server, leading to RCE.

Impact:

  • Full system compromise
  • Data exfiltration
  • Lateral movement within the network
  • Installation of backdoors or malware

Vulnerable vs. Patched Code

Since no patch is available, a direct comparison cannot be made. However, based on the vulnerability type, the following secure coding practices should be implemented:

Vulnerable Code (Hypothetical):

public void mainOutput(String userInput) {
    // Directly using user input in code execution
    ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
    engine.eval(userInput);
}

Patched Code (Hypothetical):

public void mainOutput(String userInput) {
    // Validate and sanitize input
    if (!isValidInput(userInput)) {
        throw new SecurityException("Invalid input");
    }
    // Use a safe method to process output
    processOutputSafely(userInput);
}

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • O2OA v9.0.3 running on a target server
  • Network access to the vulnerable endpoint

Exploitation Steps:

  1. Identify the vulnerable endpoint (likely /x_program_center/jaxrs/... or similar).
  2. Craft a payload that exploits the mainOutput() function. Example payload (hypothetical):
    POST /vulnerable/endpoint HTTP/1.1
    Host: target.com
    Content-Type: application/json
    
    {"input": "java.lang.Runtime.getRuntime().exec('cmd /c calc.exe')"}
    
  3. Send the request and observe the execution of the command.

Note: No public PoC is available, so this is a theoretical approach.

Blue Team (Detection & Defense)

Detection:

  • Monitor for unusual HTTP requests to O2OA endpoints, especially those containing code-like patterns (e.g., exec, Runtime, eval).
  • Use Web Application Firewall (WAF) rules to block requests with suspicious payloads.
  • Enable logging on the O2OA server and monitor for exceptions or errors in the mainOutput() function.

Defense:

  • Apply input validation and output encoding.
  • Restrict network access to the O2OA server.
  • Implement the principle of least privilege for the application user.
  • Monitor for outbound connections from the O2OA server that could indicate command execution.

Indicators of Compromise (IOCs)

Network IOCs:

  • HTTP requests containing strings like Runtime.getRuntime(), exec, ProcessBuilder, eval, new java.lang.ProcessBuilder.
  • Unusual outbound connections from the O2OA server to unknown IPs.
  • Anomalous HTTP response sizes or error messages.

File IOCs:

  • Unexpected files in the O2OA installation directory (e.g., .jsp, .class, .jar files).
  • Modified configuration files (e.g., config.json, application.properties).

Process IOCs:

  • Unusual child processes spawned by the Java process (e.g., cmd.exe, /bin/sh, powershell).
  • High CPU or memory usage by the Java process.

Detection Engineering

YARA Rule

rule CVE_2024_37777_O2OA_RCE {
    meta:
        description = "Detects exploitation attempts of CVE-2024-37777 in O2OA"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-37777"
    strings:
        $s1 = "mainOutput" ascii wide nocase
        $s2 = "Runtime.getRuntime()" ascii wide nocase
        $s3 = "ProcessBuilder" ascii wide nocase
        $s4 = "eval" ascii wide nocase
    condition:
        any of ($s*) and filesize < 10KB
}

Sigma Rule

title: CVE-2024-37777 O2OA RCE Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects HTTP requests attempting to exploit CVE-2024-37777 in O2OA
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        c-uri|contains:
            - 'mainOutput'
        cs-method: 'POST'
        cs-uri-query|contains:
            - 'Runtime.getRuntime()'
            - 'ProcessBuilder'
            - 'eval'
    condition: selection
falsepositives:
    - Legitimate use of these functions in development
level: critical

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-37777 O2OA RCE Attempt"; flow:to_server,established; content:"mainOutput"; http_uri; content:"Runtime.getRuntime()"; http_client_body; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate the affected O2OA server from the network if possible.
  2. Apply a virtual patch using a WAF to block requests containing suspicious patterns.
  3. Monitor logs for any signs of exploitation.

Long-term Fix:

  • Upgrade to a patched version of O2OA once available.
  • Implement input validation and output encoding in the mainOutput() function.
  • Conduct a security audit of the O2OA codebase for similar vulnerabilities.

Workarounds:

  • Disable the vulnerable module if it is not essential.
  • Restrict access to the O2OA server to trusted IPs only.

Valters IT
Securing Digital Frontiers

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

o2oa v9.0.3

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-37777/ · 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.