☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 🐛 CWE-306
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-69907

CVE-2025-69907 Missing Authentication in Newgen
📅 PUBLISHED: 2026-01-23 00:00 UTC 🔄 UPDATED: 2026-08-12 09:02 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.06%
👁️
0.06% probability
1.4× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 0.0
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: N Integrity None
A: N Availability None
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-69907 is an unauthenticated information disclosure vulnerability in Newgen OmniDocs, a document management and workflow automation platform. The flaw resides in the /omnidocs/GetListofCabinet API endpoint, which lacks authentication and access control mechanisms. A remote, unauthenticated attacker can query this endpoint to retrieve sensitive internal configuration data, including cabinet names and database-related metadata. This exposure allows for unauthorized enumeration of backend deployment details, which can be leveraged to plan further targeted attacks against the organization's infrastructure.

The vulnerability is classified under CWE-306 (Missing Authentication for Critical Function) and carries a CVSS v3.1 base score of 7.5 (High), with the vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N. The attack complexity is low, requires no privileges or user interaction, and impacts confidentiality at a high level. No public exploit code or Nuclei template has been released at this time, but the vulnerability is considered publicly known due to the NVD description.

⚡ 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 is not related to an NPM, PyPI, Go, or Ruby package. It is a proprietary enterprise application (Newgen OmniDocs) and does not fall under the supply chain package security scope.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  • Base Score: 7.5 (High)
  • Attack Vector (AV): Network – The vulnerability is exploitable remotely over the network.
  • Attack Complexity (AC): Low – No special conditions or race conditions are required.
  • Privileges Required (PR): None – No authentication is needed.
  • User Interaction (UI): None – No user action is required.
  • Scope (S): Unchanged – The vulnerable component and the impacted component are the same.
  • Confidentiality (C): High – Sensitive configuration data (cabinet names, database metadata) is exposed.
  • Integrity (I): None – No data modification is possible.
  • Availability (A): None – No denial of service impact.

Threat Level: High. The ease of exploitation (no auth, low complexity) combined with the potential for reconnaissance makes this a critical finding for any organization using Newgen OmniDocs.

Deep Dive & Mechanics

The /omnidocs/GetListofCabinet endpoint is designed to return a list of document cabinets and associated metadata. In a properly secured implementation, this endpoint would require authentication (e.g., a valid session token or API key) and enforce access control to ensure only authorized users can enumerate cabinets. However, in vulnerable versions of Newgen OmniDocs, the endpoint does not validate any credentials or session tokens.

How the vulnerability works:

  1. An attacker sends an HTTP GET request to https://target-omnidocs-instance/omnidocs/GetListofCabinet.
  2. The server processes the request without checking for authentication headers or session cookies.
  3. The response contains a JSON or XML payload listing all configured cabinets, including internal names, database connection strings (or references), and other metadata.
  4. The attacker can parse this information to understand the backend architecture, database types, and naming conventions.

Potential impact of disclosed information:

  • Cabinet names may reveal business units, project codes, or sensitive document categories.
  • Database metadata (e.g., server names, table prefixes) can be used to craft SQL injection or other database-level attacks.
  • Knowledge of internal naming conventions aids in social engineering or brute-force attacks on other endpoints.

Vulnerable vs. Patched Code

Since no official patch or source code diff is available, the following is a conceptual comparison based on the vulnerability description.

Vulnerable Code (Conceptual):

# Vulnerable endpoint - no authentication check
@app.route('/omnidocs/GetListofCabinet', methods=['GET'])
def get_cabinet_list():
    cabinets = db.query("SELECT name, metadata FROM cabinets")
    return jsonify(cabinets)

Patched Code (Conceptual):

# Patched endpoint - authentication required
@app.route('/omnidocs/GetListofCabinet', methods=['GET'])
@require_auth  # decorator that validates session token
def get_cabinet_list():
    cabinets = db.query("SELECT name, metadata FROM cabinets")
    return jsonify(cabinets)

The patch would involve adding an authentication middleware or decorator that checks for a valid session token or API key before processing the request. Additionally, access control checks should be implemented to ensure the authenticated user has permission to view cabinet lists.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Setup:

  • Deploy a vulnerable instance of Newgen OmniDocs (version unknown, but any version without the patch).
  • Ensure the /omnidocs/GetListofCabinet endpoint is accessible without authentication.

Exploitation Steps:

  1. Identify the target OmniDocs instance (e.g., via Shodan or manual discovery).
  2. Send a GET request to the vulnerable endpoint:
    curl -X GET http://target-omnidocs-instance/omnidocs/GetListofCabinet
    
  3. Parse the response to extract cabinet names and metadata.
  4. Use the disclosed information to plan further attacks (e.g., SQL injection on database endpoints, brute-force on admin panels).

Example Output (Simulated):

{
  "cabinets": [
    {
      "name": "HR_Confidential",
      "database": "omnidocs_db",
      "server": "db01.internal.corp"
    },
    {
      "name": "Finance_2025",
      "database": "omnidocs_fin",
      "server": "db02.internal.corp"
    }
  ]
}

Blue Team (Defensive)

Detection:

  • Monitor for requests to /omnidocs/GetListofCabinet from unauthenticated sources.
  • Alert on any response containing cabinet names or database metadata.
  • Correlate with other reconnaissance patterns (e.g., directory brute-forcing).

Hunting:

  • Search web server logs for GET /omnidocs/GetListofCabinet entries.
  • Look for anomalous IPs making multiple requests to this endpoint.
  • Check for subsequent attacks targeting database endpoints or admin interfaces.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP GET requests to /omnidocs/GetListofCabinet without authentication headers.
    • Responses containing JSON/XML with keys like cabinet, database, server, metadata.
  • File IOCs:
    • Web server logs showing repeated access to the vulnerable endpoint.
  • Behavioral IOCs:
    • Unusual enumeration of cabinet names followed by attempts to access other API endpoints.

Detection Engineering

YARA Rule

rule CVE_2025_69907_OmniDocs_InfoDisclosure {
    meta:
        description = "Detects exploitation attempts of CVE-2025-69907 in Newgen OmniDocs"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-69907"
    strings:
        $s1 = "/omnidocs/GetListofCabinet" ascii wide nocase
        $s2 = "cabinet" ascii wide nocase
        $s3 = "database" ascii wide nocase
    condition:
        any of ($s*) and #s1 > 0
}

Sigma Rule

title: CVE-2025-69907 - Unauthenticated Access to OmniDocs Cabinet List
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects HTTP requests to the vulnerable /omnidocs/GetListofCabinet endpoint without authentication
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access_log
detection:
    selection:
        cs-method: 'GET'
        cs-uri-stem: '/omnidocs/GetListofCabinet'
    condition: selection
falsepositives:
    - Legitimate authenticated users (if endpoint is later patched)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-69907 - OmniDocs Cabinet List Enumeration"; flow:to_server; content:"GET"; http_method; content:"/omnidocs/GetListofCabinet"; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Restrict Network Access: Block external access to the /omnidocs/GetListofCabinet endpoint using a web application firewall (WAF) or reverse proxy.
  2. Implement Authentication: Add authentication checks to the endpoint. Ensure only authenticated users with proper roles can access cabinet lists.
  3. Apply Input Validation: Even after authentication, validate that the user has permission to view the requested data.

Long-Term Fixes:

  • Contact Newgen for an official patch or upgrade to a patched version.
  • Conduct a security audit of all API endpoints to ensure consistent authentication and authorization.
  • Implement logging and monitoring for all API access, especially for endpoints that expose sensitive metadata.

Workarounds:

  • If patching is not immediately possible, disable the endpoint entirely by modifying the application configuration or using a reverse proxy to return a 403 Forbidden for requests to /omnidocs/GetListofCabinet.

Valters IT Signature:
This report was generated by Valters IT Cyber Threat Intelligence. For questions or further analysis, contact threatintel@valtersit.com.

👁️ 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.

http.title:"OmniDocs"
"omnidocs" "GetListofCabinet"

💣 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-2025-69907/ · 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.