CVE-2025-24337

8.4 HIGH

📋 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

Products:
  • WriteFreely
Versions: through 0.15.1
Operating Systems: All operating systems running WriteFreely
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations using MySQL database backend. SQLite installations are not vulnerable.

⚠️ 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.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. 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.

🌐 Internet-Facing: LOW - This requires local access to the server filesystem, not directly exploitable over network.
🏢 Internal Only: HIGH - Internal users with shell access or compromised local accounts can exploit this vulnerability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

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/Unix

Set 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

🔗 References

📤 Share & Export