☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Dify logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

CVE-2025-63387

CVE-2025-63387 is a vulnerability in Dify v1.
📅 PUBLISHED: 2025-12-18 00:00 UTC 🔄 UPDATED: 2026-10-05 23:02 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 29.93%
👁️
29.93% probability
748.2× above the median CVE
Tier: CRITICAL
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 7.5
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
7.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-63387 is a vulnerability in Dify v1.9.1 that allows unauthenticated attackers to access the /console/api/system-features endpoint. The endpoint lacks proper authorization checks, enabling anonymous access to system configuration data. The vendor states this is by design for dashboard initialization and that the data is non-sensitive, but the lack of authentication still poses a risk for information disclosure. The vulnerability has a public proof-of-concept (POC) via a Nuclei template.

⚡ 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 Dify application, which is a self-hosted or cloud-based platform. The risk is primarily to the confidentiality of system configuration data. No direct supply chain compromise is indicated, but the exposure of configuration details could aid in further attacks.

CVSS Breakdown & Threat Level

The CVSS score is not provided in the NVD data. However, based on the vulnerability characteristics, a reasonable assessment is:

  • 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): Low (L) – Non-sensitive data exposed
  • Integrity (I): None (N)
  • Availability (A): None (N)

Estimated CVSS Score: 5.3 (Medium)

Threat Level: Medium. The vulnerability is easy to exploit but exposes only non-sensitive configuration data. However, this data could be used to map the environment for further attacks.

Deep Dive & Mechanics

The vulnerability exists in the /console/api/system-features endpoint of Dify v1.9.1. The endpoint is designed to return system configuration data for client-side rendering during dashboard initialization. However, it does not enforce any authentication or authorization checks, allowing any unauthenticated user to access it.

The endpoint returns JSON data containing system features and configuration settings. While the vendor claims this data is non-sensitive, it may include information such as feature flags, SSO settings, and other configuration details that could be used to understand the system's capabilities and potential weaknesses.

The root cause is a missing authorization check in the endpoint handler. The application likely relies on the client-side to handle authentication, but the server-side does not verify the user's identity or permissions before returning the data.

Vulnerable vs. Patched Code

Vulnerable Code (Dify v1.9.1):

The vulnerable endpoint likely has no authentication middleware. A simplified example:

@app.route('/console/api/system-features')
def system_features():
    # No authentication check
    features = get_system_features()
    return jsonify(features)

Patched Code (Hypothetical):

A patched version would require authentication:

@app.route('/console/api/system-features')
@require_authentication
def system_features():
    features = get_system_features()
    return jsonify(features)

The @require_authentication decorator would check for a valid session token or API key before allowing access.

Exploitation & Lab Setup

Red Team

Exploitation Steps:

  1. Identify a Dify v1.9.1 instance.
  2. Send an HTTP GET request to /console/api/system-features without any authentication headers.
  3. The server returns a JSON response containing system configuration data.

Example using curl:

curl -X GET http://target.com/console/api/system-features

Expected Response:

{
  "status": "success",
  "sso_enforced_for_signin": false,
  "other_features": "..."
}

Blue Team

Detection Steps:

  1. Monitor for HTTP GET requests to /console/api/system-features from unauthenticated sources.
  2. Look for requests without session cookies or authorization headers.
  3. Alert on successful responses (HTTP 200) to this endpoint from unknown IPs.

Lab Setup:

  • Deploy Dify v1.9.1 in a controlled environment.
  • Use a tool like Burp Suite or curl to test the endpoint.
  • Verify that the endpoint returns data without authentication.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • HTTP GET requests to /console/api/system-features
    • Responses with JSON containing "status": and "sso_enforced_for_signin":
    • Source IPs not associated with legitimate users
  • File IOCs:

    • Log entries showing access to /console/api/system-features without authentication
  • Behavioral IOCs:

    • Unusual number of requests to the endpoint from a single IP
    • Requests to the endpoint from IPs not in the allowed list

Detection Engineering

YARA Rule

rule CVE_2025_63387_Dify_Unauthenticated_Access {
    meta:
        description = "Detects HTTP responses from Dify /console/api/system-features endpoint"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-63387"
    strings:
        $s1 = "\"status\":" ascii
        $s2 = "\"sso_enforced_for_signin\":" ascii
        $s3 = "/console/api/system-features" ascii
    condition:
        all of ($s*) and #s3 > 0
}

Sigma Rule

title: Dify Unauthenticated Access to System Features Endpoint
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects unauthenticated HTTP GET requests to Dify /console/api/system-features endpoint
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-63387
logsource:
    category: webserver
    product: apache
    service: access_log
detection:
    selection:
        cs-method: GET
        cs-uri-stem: /console/api/system-features
        cs-host: "*"
    condition: selection
falsepositives:
    - Legitimate unauthenticated access during dashboard initialization
level: medium

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-63387 Dify Unauthenticated Access to System Features";
    flow:to_server,established;
    content:"GET";
    http_method;
    content:"/console/api/system-features";
    http_uri;
    classtype:attempted-recon;
    sid:1000001;
    rev:1;
)

Nuclei Template

id: CVE-2025-63387

info:
  name: Dify v1.9.1 - Broken Access Control
  author: DhiyaneshDK
  severity: medium
  description: |
    Dify v1.9.1 contains an insecure permissions vulnerability caused by lack of authorization checks in /console/api/system-features endpoint, letting unauthenticated attackers access sensitive system configuration data.
  impact: |
    Unauthenticated attackers can access sensitive system configuration data, potentially leading to information disclosure.
  remediation: |
    Update to the latest version of Dify.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-63387
  classification:
    cve-id: CVE-2025-63387
    epss-score: 0.08076
    epss-percentile: 0.92156
    cwe-id: CWE-287
  metadata:
    verified: true
    max-request: 1
    fofa-query: app="Dify"
  tags: cve,cve2025,dify,auth-bypass,vkev

http:
  - method: GET
    path:
      - "{{BaseURL}}/console/api/system-features"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"status":'
          - '"sso_enforced_for_signin":'
        condition: and

      - type: word
        part: content_type
        words:
          - 'application/json'

      - type: status
        status:
          - 200

Remediation & Mitigation

Immediate Mitigation:

  1. Restrict Network Access: Use a web application firewall (WAF) or reverse proxy to block external access to /console/api/system-features unless from trusted IPs.
  2. Implement Authentication: Add authentication checks to the endpoint, requiring a valid session token or API key.
  3. Monitor Logs: Review access logs for unauthorized requests to the endpoint.

Long-Term Remediation:

  1. Update Dify: Apply any patches or updates from the vendor that address this issue.
  2. Code Review: Ensure all endpoints have proper authorization checks.
  3. Security Testing: Conduct regular penetration testing to identify similar vulnerabilities.

Vendor Response:

The vendor states the endpoint is intentionally unauthenticated for dashboard initialization. If this is a design decision, consider adding rate limiting or IP whitelisting to reduce risk.


Valters IT
Securing Digital Frontiers

{/* [Security Hash: 6A2859DABA1CDA73514FD8A9] */}

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