Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-22346

CVE-2025-22346: LearnDash Course Migration SSRF Vulnerability

CVE-2025-22346 is a server-side request forgery vulnerability in Course Migration for LearnDash plugin that enables attackers to make unauthorized requests from the server. This article covers technical details, affected versions, security impact, and recommended mitigation strategies.

Published:

CVE-2025-22346 Overview

CVE-2025-22346 is a Server-Side Request Forgery (SSRF) vulnerability in the Course Migration for LearnDash WordPress plugin developed by Faizaan Gagan. The flaw affects plugin versions from 1.0.2 through the latest release, with no fixed version currently identified. Authenticated attackers with low privileges can coerce the WordPress server into issuing arbitrary HTTP requests to internal or external endpoints. The issue is classified under CWE-918: Server-Side Request Forgery and was published to the National Vulnerability Database on January 15, 2025.

Critical Impact

Authenticated users can abuse the plugin to send crafted requests from the vulnerable server, enabling reconnaissance of internal networks, access to cloud metadata services, and pivoting to otherwise unreachable resources.

Affected Products

  • Course Migration for LearnDash plugin for WordPress
  • Versions 1.0.2 through the latest available release
  • WordPress installations running Faizaan Gagan's LearnDash migration extension

Discovery Timeline

  • 2025-01-15 - CVE-2025-22346 published to the National Vulnerability Database
  • 2026-06-17 - Last updated in the NVD database

Technical Details for CVE-2025-22346

Vulnerability Analysis

The vulnerability resides in how the Course Migration for LearnDash plugin handles user-supplied URLs during course import and migration operations. The plugin accepts a URL parameter and issues an HTTP request from the WordPress server without sufficient validation of the target destination. An attacker with authenticated access can supply URLs pointing to internal services, cloud metadata endpoints such as 169.254.169.254, or loopback addresses. The server then dispatches the request and may return response data to the attacker. The Patchstack SSRF Vulnerability Report documents the affected plugin behavior.

Root Cause

The root cause is missing allowlist validation on user-controlled URL input consumed by the plugin's server-side HTTP client. The plugin does not restrict schemes, hostnames, or IP ranges before initiating outbound requests. Private RFC 1918 ranges, link-local addresses, and loopback interfaces are all reachable through the vulnerable code path.

Attack Vector

The attack requires network access to the WordPress site and authenticated access with low privileges. An attacker sends a crafted request to the plugin endpoint containing a target URL under attacker control or one pointing to internal infrastructure. The WordPress server issues the request on behalf of the attacker. The scope is changed because the vulnerable component induces a trusted server to interact with resources it would not otherwise reach. Confidentiality and integrity impacts are limited, and availability is not directly affected.

Detection Methods for CVE-2025-22346

Indicators of Compromise

  • Outbound HTTP requests from the WordPress server directed at internal IP ranges such as 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16
  • Requests originating from the WordPress PHP process to cloud metadata endpoints, notably 169.254.169.254
  • Unexpected connections from the web server to loopback addresses or non-standard internal ports
  • Anomalous entries in web server access logs targeting Course Migration for LearnDash endpoints with URL parameters

Detection Strategies

  • Inspect PHP process network telemetry for outbound connections that deviate from baseline destinations for the WordPress host
  • Correlate authenticated plugin activity with subsequent outbound HTTP requests to identify attacker-triggered fetches
  • Deploy web application firewall rules that flag or block requests to plugin endpoints containing URL parameters pointing to internal address space

Monitoring Recommendations

  • Enable egress filtering on WordPress hosts and alert on any connection attempts to metadata services or private ranges
  • Log all authenticated requests to Course Migration for LearnDash plugin endpoints and retain them for retrospective analysis
  • Monitor WordPress user accounts with contributor-level or higher privileges for anomalous plugin usage patterns

How to Mitigate CVE-2025-22346

Immediate Actions Required

  • Disable or uninstall the Course Migration for LearnDash plugin until a patched version is released by the vendor
  • Restrict low-privilege user account creation and audit existing authenticated users on affected WordPress instances
  • Block outbound requests from WordPress hosts to cloud metadata IPs and internal management interfaces at the network layer

Patch Information

No fixed version is currently identified in the NVD record. The advisory lists affected versions as 1.0.2 through n/a. Administrators should monitor the Patchstack SSRF Vulnerability Report and the plugin's WordPress.org listing for updated release information.

Workarounds

  • Enforce IMDSv2 on AWS EC2 instances hosting WordPress to require session tokens for metadata access
  • Deploy a web application firewall rule that rejects plugin requests containing URL parameters resolving to private or loopback addresses
  • Place WordPress behind an egress proxy that enforces a destination allowlist for outbound HTTP requests
  • Remove contributor or higher privileges from accounts that do not require course migration functionality
bash
# Example egress restriction using iptables to block metadata service access
iptables -A OUTPUT -m owner --uid-owner www-data -d 169.254.169.254 -j DROP
iptables -A OUTPUT -m owner --uid-owner www-data -d 10.0.0.0/8 -j DROP
iptables -A OUTPUT -m owner --uid-owner www-data -d 172.16.0.0/12 -j DROP
iptables -A OUTPUT -m owner --uid-owner www-data -d 192.168.0.0/16 -j DROP

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.