CVE-2025-28965 Overview
CVE-2025-28965 is a missing authorization vulnerability in the Md Yeasin Ul Haider URL Shortener WordPress plugin (exact-links). The flaw affects all plugin versions up to and including 3.0.7. Unauthenticated attackers can access functionality that is not properly constrained by Access Control Lists (ACLs), exposing plugin operations to users without the required privileges. The weakness is classified as CWE-862: Missing Authorization and is exploitable over the network without user interaction.
Critical Impact
Remote, unauthenticated attackers can invoke restricted plugin functionality, leading to high integrity impact on affected WordPress sites running URL Shortener <= 3.0.7.
Affected Products
- Md Yeasin Ul Haider URL Shortener WordPress plugin (exact-links)
- All versions from initial release through 3.0.7
- WordPress installations with the vulnerable plugin enabled
Discovery Timeline
- 2025-07-16 - CVE CVE-2025-28965 published to NVD
- 2026-04-23 - Last updated in NVD database
Technical Details for CVE-2025-28965
Vulnerability Analysis
The URL Shortener plugin exposes one or more action handlers that perform privileged operations without verifying the caller's authorization. The plugin code path runs operational logic before checking whether the requesting user holds the required capability. As a result, an attacker reaching the endpoint over HTTP can trigger functionality intended for administrators or other privileged roles.
The primary impact is to data integrity. An attacker can modify plugin-managed state such as shortened link mappings, redirect targets, or stored plugin configuration. Confidentiality and availability impacts are lower but still present, since the same code paths can return or disrupt plugin data.
Because the plugin handles URL shortening and redirection, integrity compromise can be chained into broader attacks. Modified redirects can deliver visitors of the affected site to attacker-controlled phishing or malware hosting infrastructure.
Root Cause
The root cause is a missing capability check ([CWE-862]) in the plugin's request handlers. WordPress requires plugin authors to gate privileged actions with current_user_can() checks and to validate nonces with check_admin_referer() or wp_verify_nonce(). The vulnerable handlers in exact-links omit one or both of these controls, leaving the functionality reachable by anonymous requests.
Attack Vector
Exploitation requires only network access to the target WordPress site. An attacker sends a crafted HTTP request to the vulnerable plugin endpoint, typically the admin-ajax.php or admin-post.php handler associated with the plugin's actions. No authentication, no user interaction, and no elevated privileges are required. See the Patchstack Vulnerability Report for technical details.
Detection Methods for CVE-2025-28965
Indicators of Compromise
- Unauthenticated POST or GET requests to plugin-specific actions on wp-admin/admin-ajax.php or wp-admin/admin-post.php referencing the exact-links plugin.
- Unexpected changes to short link destinations or new short link entries created outside of normal administrative sessions.
- Outbound redirects from the site landing on unfamiliar external domains.
Detection Strategies
- Review WordPress access logs for requests to plugin endpoints lacking an authenticated session cookie or valid nonce parameter.
- Compare current plugin database tables and option values against known-good backups to identify unauthorized modifications.
- Alert on spikes in traffic to admin-ajax.php from a single source IP, especially with action= parameters tied to the exact-links plugin.
Monitoring Recommendations
- Forward WordPress and web server access logs to a centralized logging platform for correlation and retention.
- Enable file integrity monitoring on the wp-content/plugins/exact-links/ directory and the WordPress database options table.
- Monitor outbound DNS and HTTP traffic from web visitors for anomalous redirect chains originating from the affected site.
How to Mitigate CVE-2025-28965
Immediate Actions Required
- Identify all WordPress installations running the URL Shortener plugin and confirm the installed version against 3.0.7.
- Deactivate the exact-links plugin on any site where a patched version is not yet available.
- Audit existing short link records and plugin settings for unauthorized modifications since the disclosure date.
Patch Information
At the time of publication, the Patchstack Vulnerability Report lists all versions through 3.0.7 as affected with no fixed version identified. Administrators should monitor the plugin's WordPress.org listing and the vendor's repository for a release that introduces proper capability and nonce checks, then update immediately when available.
Workarounds
- Remove or deactivate the URL Shortener plugin until a patched version is released.
- Restrict access to wp-admin/admin-ajax.php and wp-admin/admin-post.php at the web application firewall (WAF) layer for unauthenticated requests targeting exact-links actions.
- Apply virtual patching rules at the WAF to block requests containing the vulnerable plugin's action identifiers from unauthenticated sources.
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

