CVE-2025-24337
📋 TL;DR
CVE-2025-24337 allows local users on WriteFreely servers to read database credentials from the config.ini file when MySQL is used. This affects WriteFreely instances running vulnerable versions with MySQL backend. Attackers with local access can obtain credentials that could lead to database compromise.
💻 Affected Systems
- WriteFreely
⚠️ 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
Local attackers obtain database credentials, leading to full database compromise, data exfiltration, or privilege escalation to other systems.
Likely Case
Local users or compromised accounts read database credentials, potentially accessing or modifying blog content and user data.
If Mitigated
With proper file permissions and access controls, only authorized users can read config.ini, limiting credential exposure.
🎯 Exploit Status
Requires local filesystem access to the WriteFreely server. No authentication bypass needed if attacker has local shell access.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: v0.15.2 or later
Vendor Advisory: https://github.com/writefreely/writefreely/releases/tag/v0.15.1
Restart Required: No
Instructions:
1. Upgrade WriteFreely to version 0.15.2 or later. 2. Update config.ini file permissions to restrict read access. 3. Rotate database credentials after patching.
🔧 Temporary Workarounds
Restrict config.ini file permissions
Linux/UnixSet strict file permissions on config.ini to prevent unauthorized reading
chmod 600 /path/to/writefreely/config.ini
chown writefreely:writefreely /path/to/writefreely/config.ini
🧯 If You Can't Patch
- Apply strict file permissions (chmod 600) to config.ini file
- Rotate MySQL database credentials and update config.ini with new credentials
🔍 How to Verify
Check if Vulnerable:
Check WriteFreely version and verify config.ini file permissions. If version ≤0.15.1 and config.ini is world-readable, system is vulnerable.
Check Version:
Check WriteFreely admin panel or read VERSION file in installation directory
Verify Fix Applied:
Verify WriteFreely version is ≥0.15.2 and config.ini has permissions 600 (rw-------).
📡 Detection & Monitoring
Log Indicators:
- Unusual file access patterns to config.ini
- Failed database authentication attempts with new credentials
Network Indicators:
- Database connections from unexpected sources or users
SIEM Query:
File monitoring for config.ini access by non-privileged users OR Database authentication failures from WriteFreely application