CVE-2025-13891
📋 TL;DR
This vulnerability allows authenticated WordPress users with Author-level permissions or higher to perform directory traversal attacks via the modula_list_folders AJAX endpoint. Attackers can enumerate arbitrary directories on the server, potentially exposing sensitive files. All WordPress sites using the Image Gallery – Photo Grid & Video Gallery plugin up to version 2.13.3 are affected.
💻 Affected Systems
- Image Gallery – Photo Grid & Video Gallery WordPress plugin
⚠️ Manual Verification Required
This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.
Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).
🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Attackers could enumerate sensitive server directories, discover configuration files, database credentials, or other sensitive data, leading to full system compromise.
Likely Case
Authenticated attackers enumerate directory structures to map the server environment and identify additional attack vectors or sensitive information.
If Mitigated
With proper file permissions and directory restrictions, impact is limited to directory enumeration within allowed paths.
🎯 Exploit Status
Exploitation requires authenticated access but is straightforward once credentials are obtained
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.13.4 or later
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Image Gallery – Photo Grid & Video Gallery'. 4. Click 'Update Now' if update is available. 5. Alternatively, download version 2.13.4+ from WordPress repository and manually update.
🔧 Temporary Workarounds
Disable vulnerable endpoint via .htaccess
allBlock access to the modula_list_folders AJAX endpoint
# Add to .htaccess in WordPress root directory
<FilesMatch "modula_list_folders">
Order Allow,Deny
Deny from all
</FilesMatch>
Restrict user roles
allTemporarily remove Author+ roles from untrusted users
🧯 If You Can't Patch
- Disable the Image Gallery plugin entirely until patched
- Implement strict file system permissions and directory restrictions at server level
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → Installed Plugins for 'Image Gallery – Photo Grid & Video Gallery' version 2.13.3 or lower
Check Version:
wp plugin list --name='Image Gallery – Photo Grid & Video Gallery' --field=version
Verify Fix Applied:
Verify plugin version is 2.13.4 or higher in WordPress admin panel
📡 Detection & Monitoring
Log Indicators:
- Multiple POST requests to /wp-admin/admin-ajax.php with action=modula_list_folders
- Unusual directory path parameters in AJAX requests
Network Indicators:
- POST requests to admin-ajax.php with modula_list_folders action containing directory traversal sequences (../)
SIEM Query:
source="wordpress.log" AND "admin-ajax.php" AND "modula_list_folders" AND (".." OR "%2e%2e")
🔗 References
- https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/2.12.26/includes/admin/class-modula-gallery-upload.php#L160
- https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/2.12.26/includes/admin/class-modula-gallery-upload.php#L230
- https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/2.12.26/includes/admin/class-modula-gallery-upload.php#L411
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&new=3414176%40modula-best-grid-gallery%2Ftrunk&old=3407949%40modula-best-grid-gallery%2Ftrunk&sfp_email=&sfph_mail=
- https://research.cleantalk.org/cve-2025-13891/
- https://www.wordfence.com/threat-intel/vulnerabilities/id/71e587ec-ceb6-48ca-9a1a-599d9d988b4d?source=cve