CVE-2019-20062
📋 TL;DR
This vulnerability in YetiShare allows attackers to reset user passwords using leaked password reset hashes that never expire. It affects YetiShare installations from version 3.5.2 through 4.5.4. Attackers can gain unauthorized access to user accounts if they obtain these reset tokens.
💻 Affected Systems
- MFScripts YetiShare
📦 What is this software?
Yetishare by Mfscripts
⚠️ Risk & Real-World Impact
Worst Case
Complete account takeover of all users whose password reset tokens have been leaked, potentially leading to data theft, privilege escalation, and lateral movement within the system.
Likely Case
Targeted account compromise of specific users whose reset tokens have been exposed, leading to unauthorized access to sensitive files and personal data.
If Mitigated
Limited impact if proper monitoring detects unusual password reset activity and if multi-factor authentication is enforced for sensitive operations.
🎯 Exploit Status
Exploitation requires obtaining leaked password reset hashes, which could come from database leaks, log files, or other sources. The actual reset process is straightforward once tokens are obtained.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Versions after 4.5.4
Vendor Advisory: https://mfscripts.com/
Restart Required: No
Instructions:
1. Upgrade YetiShare to version 4.5.5 or later. 2. Apply the patch from the vendor. 3. Test the password reset functionality to ensure tokens now expire properly.
🔧 Temporary Workarounds
Implement token expiration
allManually modify the password reset functionality to enforce token expiration
Modify password reset token generation to include timestamp and implement validation logic
Rate limit password resets
allImplement rate limiting on password reset requests to reduce brute force attempts
Configure web server or application rate limiting for /reset-password endpoints
🧯 If You Can't Patch
- Monitor for unusual password reset activity and implement alerting
- Force password resets for all users and invalidate all existing reset tokens
🔍 How to Verify
Check if Vulnerable:
Check if password reset tokens remain valid indefinitely by testing with an old reset token
Check Version:
Check YetiShare version in admin panel or configuration files
Verify Fix Applied:
Test that password reset tokens expire after a reasonable time period (e.g., 24 hours)
📡 Detection & Monitoring
Log Indicators:
- Multiple password reset attempts for different users
- Password resets using old tokens
- Unusual password reset patterns
Network Indicators:
- Unusual spikes in requests to password reset endpoints
- Requests with malformed or old reset tokens
SIEM Query:
source="web_logs" AND (url_path="/reset-password" OR url_path="/password-reset") AND status=200 | stats count by src_ip, user_agent