☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Wynne 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-58977

CVE-2025-58977 Server-Side Request Forgery in Rhys wynne
📅 PUBLISHED: 2025-09-09 17:16 UTC 🔄 UPDATED: 2026-09-26 05:59 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.04%
👁️
0.04% probability
<1× 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.
Country: Estonia 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-58977 is a Server-Side Request Forgery (SSRF) vulnerability discovered in the WP eBay Product Feeds plugin for WordPress (slug: ebay-feeds-for-wordpress), developed by Rhys Wynne. The flaw affects all versions up to and including 3.4.8. An authenticated attacker with low privileges can exploit this vulnerability to make the WordPress server issue arbitrary HTTP requests to internal or external resources, potentially bypassing firewalls, accessing internal services, or performing port scans. The vulnerability is currently unpatched, and no official fix has been released by the vendor. The CVSS score is 4.9 (Medium), reflecting the low complexity and network-based attack vector, but limited impact on confidentiality.

⚡ 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. As a supply chain risk, any site running this plugin is exposed until a patch is applied. Since the plugin is unmaintained or the vendor has not responded, users must consider removing or replacing the plugin. No known public exploit code exists, but the SSRF nature makes it a prime target for automated scanning.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
  • Base Score: 4.9 (Medium)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: Low (PR:L) – requires authenticated user with subscriber role or higher
  • User Interaction: None (UI:N)
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: Low (C:L) – limited information disclosure via SSRF
  • Integrity Impact: None (I:N)
  • Availability Impact: None (A:N)

Threat Level: Medium. While the CVSS score is moderate, SSRF can be chained with other vulnerabilities (e.g., internal service exploitation) to escalate impact. The lack of a patch increases the risk for unmonitored deployments.

Deep Dive & Mechanics

The vulnerability exists in the plugin’s functionality that fetches eBay product feeds. The plugin likely accepts a URL or endpoint parameter from the user (e.g., via a shortcode or admin panel) and makes an HTTP request to that URL without proper validation. An attacker can supply a malicious URL pointing to internal IP addresses (e.g., http://169.254.169.254/latest/meta-data/ for cloud metadata) or internal services (e.g., http://localhost:9200 for Elasticsearch).

Root Cause: The plugin does not sanitize or restrict the target URL of the outgoing HTTP request. The wp_remote_get() or similar function is called with user-supplied input, allowing arbitrary destinations.

Attack Flow:

  1. Attacker authenticates to WordPress (e.g., as a subscriber).
  2. Attacker crafts a request to the vulnerable endpoint (e.g., via a shortcode or AJAX handler) with a malicious URL.
  3. The WordPress server executes the request, potentially accessing internal resources.
  4. The response (or error) is reflected back to the attacker, leaking information.

Vulnerable vs. Patched Code

Since no patch is available, we can only infer the vulnerable code pattern. The plugin likely contains code similar to:

// Vulnerable code (hypothetical)
$feed_url = $_POST['feed_url'];
$response = wp_remote_get( $feed_url );
echo wp_remote_retrieve_body( $response );

A patched version would include URL validation:

// Patched code (hypothetical)
$feed_url = $_POST['feed_url'];
$parsed_url = parse_url( $feed_url );
if ( ! in_array( $parsed_url['host'], $allowed_domains ) ) {
    wp_die( 'Invalid URL' );
}
$response = wp_remote_get( $feed_url );
echo wp_remote_retrieve_body( $response );

Key differences:

  • Vulnerable: No host validation, no allowlist.
  • Patched: Host is checked against an allowlist of eBay domains.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • WordPress instance with WP eBay Product Feeds <= 3.4.8 installed and activated.
  • Valid user credentials (subscriber or higher).

Exploitation Steps:

  1. Identify the vulnerable endpoint. Common patterns include:
    • /wp-admin/admin-ajax.php?action=ebay_feed_fetch&url=...
    • Shortcode [ebay_feed url="..."]
  2. Craft a request to probe internal services:
    curl -X POST 'http://target/wp-admin/admin-ajax.php' \
    -d 'action=ebay_feed_fetch&url=http://169.254.169.254/latest/meta-data/'
    
  3. If successful, the response will contain cloud metadata (e.g., IAM credentials).
  4. For internal port scanning, use:
    curl -X POST 'http://target/wp-admin/admin-ajax.php' \
    -d 'action=ebay_feed_fetch&url=http://127.0.0.1:9200/'
    

Note: No public exploit code exists; this is a conceptual demonstration.

Blue Team (Detection & Hardening)

Detection:

  • Monitor outbound HTTP requests from the WordPress server to unexpected IPs (especially private ranges: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8).
  • Log all calls to wp_remote_get() with suspicious URLs.
  • Use WAF rules to block requests containing internal IP patterns in POST/GET parameters.

Hardening:

  • Disable the plugin immediately if not essential.
  • If removal is not possible, apply a virtual patch via WAF to block SSRF attempts.
  • Restrict outbound traffic from the WordPress server using firewall rules (e.g., allow only to eBay domains).
  • Implement a WordPress security plugin that monitors for SSRF.

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, 127.0.0.0/8).
    • Requests to cloud metadata endpoints (e.g., 169.254.169.254).
    • Requests to internal service ports (e.g., localhost:9200, localhost:3306).
  • File IOCs:
    • Modified plugin files (check integrity of ebay-feeds-for-wordpress).
    • Suspicious entries in WordPress debug log (e.g., wp-content/debug.log).
  • Log IOCs:
    • Repeated wp_remote_get() calls to non-eBay domains.
    • AJAX requests with url parameter containing IP addresses.

Detection Engineering

YARA Rule

rule CVE_2025_58977_SSRF_WordPress {
    meta:
        description = "Detects SSRF exploitation attempts against WP eBay Product Feeds plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-58977"
    strings:
        $s1 = "ebay-feeds-for-wordpress" nocase
        $s2 = "wp_remote_get" nocase
        $s3 = "feed_url" nocase
        $ip_pattern = /(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}|127\.\d{1,3}\.\d{1,3}\.\d{1,3}|169\.254\.\d{1,3}\.\d{1,3})/
    condition:
        all of ($s*) and $ip_pattern
}

Sigma Rule

title: SSRF Exploitation via WP eBay Product Feeds
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects outbound HTTP requests to private IP ranges from WordPress server, indicating SSRF via CVE-2025-58977
author: Valters IT
date: 2025-04-10
logsource:
    category: network_connection
    product: windows
    service: sysmon
detection:
    selection:
        DestinationIp:
            - '10.*'
            - '172.16.*'
            - '172.17.*'
            - '172.18.*'
            - '172.19.*'
            - '172.20.*'
            - '172.21.*'
            - '172.22.*'
            - '172.23.*'
            - '172.24.*'
            - '172.25.*'
            - '172.26.*'
            - '172.27.*'
            - '172.28.*'
            - '172.29.*'
            - '172.30.*'
            - '172.31.*'
            - '192.168.*'
            - '127.*'
            - '169.254.*'
        Initiated: true
        Image: '*php*'
    condition: selection
falsepositives:
    - Legitimate plugin updates or admin actions
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-58977 SSRF Attempt - Private IP in URL"; flow:to_server,established; content:"GET"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=ebay_feed_fetch"; http_uri; pcre:"/(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}|127\.\d{1,3}\.\d{1,3}\.\d{1,3}|169\.254\.\d{1,3}\.\d{1,3})/Ri"; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin – Deactivate and delete ebay-feeds-for-wordpress from the WordPress admin panel.
  2. Apply virtual patch – Use a Web Application Firewall (WAF) to block requests containing private IP addresses in the url parameter.
  3. Monitor logs – Check for any prior exploitation attempts using the IOCs above.

Long-term Fix:

  • Since no patch is available, consider migrating to an alternative eBay feed plugin that is actively maintained.
  • If the plugin is critical, fork the code and implement URL validation (allowlist eBay domains only).
  • Regularly audit WordPress plugins for vulnerabilities.

Valters IT Signature:
This report was generated by Valters IT DevSecOps AI. All information is provided for authorized security testing and defensive purposes only. Unauthorized exploitation is illegal.

👁️ 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.html:"wp-eBay-product-feeds"
http.html:"ebay-feeds-for-wordpress"

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