CVE-2025-13678
📋 TL;DR
The Thai Lottery Widget WordPress plugin has a stored cross-site scripting vulnerability in all versions up to 2.5. Authenticated attackers with Contributor-level access or higher can inject malicious scripts via the 'thailottery' shortcode attributes, which execute when users view affected pages. This affects all WordPress sites using vulnerable versions of this plugin.
💻 Affected Systems
- Thai Lottery Widget 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 steal administrator credentials, redirect users to malicious sites, deface websites, or perform actions on behalf of authenticated users.
Likely Case
Attackers with contributor access inject malicious scripts to steal session cookies or redirect users to phishing pages.
If Mitigated
With proper user role management and content review, impact is limited to defacement or minor disruption.
🎯 Exploit Status
Exploitation requires authenticated access with at least Contributor privileges. The vulnerability is in publicly available code.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Version after 2.5
Vendor Advisory: https://plugins.trac.wordpress.org/browser/thai-lottery-widget/
Restart Required: No
Instructions:
1. Log into WordPress admin panel
2. Navigate to Plugins > Installed Plugins
3. Find Thai Lottery Widget
4. Click 'Update Now' if update available
5. If no update, deactivate and delete the plugin
🔧 Temporary Workarounds
Remove Contributor Shortcode Permissions
allPrevent Contributor-level users from using the thailottery shortcode via role management plugins
Input Validation Filter
allAdd custom filter to sanitize width and height parameters before processing
add_filter('shortcode_atts_thailottery', 'sanitize_thailottery_atts', 10, 3);
function sanitize_thailottery_atts($out, $pairs, $atts) {
$out['width'] = absint($atts['width'] ?? '');
$out['height'] = absint($atts['height'] ?? '');
return $out;
}
🧯 If You Can't Patch
- Disable the Thai Lottery Widget plugin immediately
- Review and remove any posts/pages containing thailottery shortcodes from untrusted users
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > Thai Lottery Widget version. If version is 2.5 or lower, you are vulnerable.
Check Version:
wp plugin list --name='Thai Lottery Widget' --field=version
Verify Fix Applied:
After update, verify plugin version is higher than 2.5. Test shortcode with script payload to confirm sanitization.
📡 Detection & Monitoring
Log Indicators:
- Unusual shortcode usage in post/page edits
- Multiple failed login attempts followed by successful Contributor login
Network Indicators:
- Unexpected script tags in page responses containing 'thailottery' attributes
SIEM Query:
source="wordpress" AND (event="post_updated" OR event="page_updated") AND content CONTAINS "[thailottery" AND (content CONTAINS "script" OR content CONTAINS "javascript:")