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

CVE-2025-49877

CVE-2025-49877 Server-Side Request Forgery in Metagauss
📅 PUBLISHED: 2025-06-17 15: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.12%
👁️
0.12% probability
3.0× 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: India License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 4.9
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: N Integrity None
A: N Availability None
4.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-49877 is a Server-Side Request Forgery (SSRF) vulnerability in the WordPress plugin ProfileGrid (profilegrid-user-profiles-groups-and-communities) by Metagauss. This flaw allows an authenticated attacker with low privileges to make the server send crafted HTTP requests to internal or external resources, potentially leading to information disclosure or internal network reconnaissance. The vulnerability affects all versions up to and including 5.9.5.2. No public exploit code or patch is currently available, and the EPSS score is 0.0%, indicating low exploitation activity in the wild. As a WordPress ecosystem issue, this vulnerability is specific to the ProfileGrid plugin and does not involve Apache or Nginx directly.

⚡ 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. Users should verify the integrity of their plugin files and monitor for updates from the vendor. No known supply chain compromise has been reported.

CVSS Breakdown & Threat Level

  • CVSS Score: 4.9 (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 (authenticated user)
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: Low
  • Integrity Impact: None
  • Availability Impact: None

The threat level is medium due to the low privileges required and the potential for internal network reconnaissance. However, the lack of public exploits and low EPSS score reduces immediate risk.

Deep Dive & Mechanics

The SSRF vulnerability in ProfileGrid arises from insufficient validation of user-supplied URLs in the plugin's functionality. When a user submits a request that includes a URL (e.g., for profile image fetching, remote data import, or webhook calls), the plugin does not properly sanitize or restrict the target. An attacker can manipulate this to make the server send requests to internal IP addresses (e.g., 127.0.0.1, 10.0.0.0/8) or cloud metadata endpoints (e.g., http://169.254.169.254/). This can lead to:

  • Internal Network Scanning: Identifying live hosts and services.
  • Cloud Metadata Theft: Accessing IAM credentials or configuration data.
  • Port Scanning: Probing internal services like databases or admin panels.

The vulnerability is triggered via HTTP POST requests to endpoints that accept URL parameters. The plugin fails to implement a blocklist or allowlist for destination IPs or hostnames.

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code pattern is described generically. The vulnerable code likely resembles:

// Vulnerable code (ProfileGrid <= 5.9.5.2)
function fetch_remote_data($url) {
    $response = wp_remote_get($url); // No validation
    return $response;
}

A patched version would include validation:

// Patched code (hypothetical)
function fetch_remote_data($url) {
    $parsed_url = parse_url($url);
    $host = $parsed_url['host'] ?? '';
    // Block private IPs and internal hostnames
    if (filter_var($host, FILTER_VALIDATE_IP) && !filter_var($host, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
        return new WP_Error('ssrf_blocked', 'Request to internal IP blocked.');
    }
    $response = wp_remote_get($url);
    return $response;
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A WordPress instance with ProfileGrid <= 5.9.5.2 installed and activated.
  • An authenticated user account with subscriber-level privileges or higher.

Exploitation Steps:

  1. Identify the vulnerable endpoint: Look for forms or AJAX actions that accept a URL parameter (e.g., pm_upload_image, pg_import_data).
  2. Craft a malicious request: Use a tool like curl to send a POST request with a URL pointing to an internal resource.
curl -X POST http://target.com/wp-admin/admin-ajax.php \
  -d "action=pg_fetch_remote&url=http://169.254.169.254/latest/meta-data/"
  1. Observe the response: If successful, the server will return the contents of the internal resource.

Advanced Exploitation:

  • Use DNS rebinding to bypass simple hostname checks.
  • Chain with other vulnerabilities for privilege escalation.

Blue Team

Detection:

  • Monitor outbound HTTP requests from the web server to unexpected IPs (especially private ranges).
  • Look for requests to cloud metadata endpoints (169.254.169.254) or internal IPs (10.x.x.x, 172.16.x.x, 192.168.x.x).

Hunting:

  • Search web server logs for URLs containing 169.254.169.254 or private IPs.
  • Analyze plugin-specific AJAX actions for unusual URL parameters.

Lab Setup:

  • Deploy a WordPress instance with ProfileGrid 5.9.5.2.
  • Use a local listener (e.g., nc -lvp 8080) to simulate an internal service.
  • Trigger the SSRF and observe the connection.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • Outbound HTTP requests to private IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16).
    • Requests to 169.254.169.254 (cloud metadata).
    • Unusual User-Agent strings (e.g., WordPress/6.x).
  • File IOCs:
    • Modified plugin files in /wp-content/plugins/profilegrid-user-profiles-groups-and-communities/.
    • Suspicious log entries in /var/log/apache2/access.log or /var/log/nginx/access.log.
  • Behavioral IOCs:
    • Repeated failed login attempts followed by SSRF attempts.
    • Unusual AJAX requests to admin-ajax.php with action=pg_fetch_remote.

Detection Engineering

YARA Rule

rule CVE_2025_49877_SSRF_ProfileGrid {
    meta:
        description = "Detects SSRF exploitation attempts against ProfileGrid plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-49877"
    strings:
        $url_param = "url=" nocase
        $internal_ip = /(127\.0\.0\.1|10\.\d{1,3}\.\d{1,3}\.\d{1,3}|172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|169\.254\.\d{1,3}\.\d{1,3})/ nocase
        $metadata = "169.254.169.254" nocase
        $action = "pg_fetch_remote" nocase
    condition:
        all of them
}

Sigma Rule

title: CVE-2025-49877 SSRF in ProfileGrid
id: 8a4b3c2d-1e5f-6a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects SSRF attempts against ProfileGrid WordPress plugin
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 'action=pg_fetch_remote'
        cs-uri-query|contains: 'url='
    filter:
        cs-uri-query|contains:
            - 'url=http://127.0.0.1'
            - 'url=http://10.'
            - 'url=http://172.16.'
            - 'url=http://192.168.'
            - 'url=http://169.254.'
    condition: selection and filter
falsepositives:
    - Legitimate use of remote image fetching (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-49877 SSRF in ProfileGrid - Internal IP in URL";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"action=pg_fetch_remote"; http_client_body;
    content:"url="; http_client_body;
    pcre:"/url=http:\/\/(127\.0\.0\.1|10\.\d{1,3}\.\d{1,3}\.\d{1,3}|172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|169\.254\.\d{1,3}\.\d{1,3})/i";
    sid:10000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin if not critical to operations until a patch is released.
  2. Implement a Web Application Firewall (WAF) rule to block requests containing private IPs in URL parameters.
  3. Restrict outbound traffic from the web server using firewall rules (e.g., block all outbound except to known good IPs).

Long-Term Fix:

  • Apply the vendor patch once released.
  • Update to the latest version of ProfileGrid when available.
  • Conduct a code review of the plugin to identify similar SSRF patterns.

Workarounds:

  • Use a WordPress security plugin that blocks SSRF attempts.
  • Modify the plugin code to validate URLs against an allowlist (not recommended for non-developers).

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.

http.title:"ProfileGrid"
http.html:"profilegrid-user-profiles-groups-and-communities"

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