CVE-2024-11125

4.3 MEDIUM

📋 TL;DR

This vulnerability in GetSimpleCMS allows attackers to perform cross-site request forgery (CSRF) attacks via the /admin/profile.php file, potentially tricking authenticated administrators into executing unintended actions. It affects GetSimpleCMS 3.3.16 users, particularly those with internet-facing installations, and can be exploited remotely without authentication in some scenarios.

💻 Affected Systems

Products:
  • GetSimpleCMS
Versions: 3.3.16
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability is in the admin interface, so only instances with admin access enabled are affected; default installations likely include this.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker could trick an authenticated admin into changing their own or other user credentials, leading to account takeover and potential site compromise.

🟠

Likely Case

Attackers may modify admin profile settings, such as email or password, causing disruption or unauthorized access.

🟢

If Mitigated

With CSRF tokens or proper access controls, the impact is minimal, as requests would be blocked or require additional verification.

🌐 Internet-Facing: HIGH, as the vulnerability is remotely exploitable and public exploits exist, increasing exposure for internet-facing instances.
🏢 Internal Only: MEDIUM, as internal users could still be targeted via phishing or malicious internal sites, but network isolation reduces external attack vectors.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploit details are publicly disclosed, making it easy for attackers to craft CSRF attacks; exploitation requires the victim to be authenticated as an admin.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None known

Restart Required: No

Instructions:

No official patch is available; monitor the vendor's site for updates or consider workarounds and alternative CMS options.

🔧 Temporary Workarounds

Implement CSRF Tokens

all

Add CSRF protection tokens to forms in /admin/profile.php to validate requests.

Edit the PHP file to include token generation and validation; no single command applies.

Restrict Admin Access

linux

Limit access to the admin interface to trusted IP addresses using web server rules.

For Apache: add 'Require ip 192.168.1.0/24' to .htaccess in admin directory.
For Nginx: use 'allow 192.168.1.0/24; deny all;' in server config.

🧯 If You Can't Patch

  • Disable or remove the /admin/profile.php file if not needed, but this may break functionality.
  • Use a web application firewall (WAF) to block CSRF attempts and monitor for suspicious requests.

🔍 How to Verify

Check if Vulnerable:

Check if the GetSimpleCMS version is 3.3.16 and review /admin/profile.php for lack of CSRF tokens.

Check Version:

Check the version in the CMS admin panel or look for version info in files like gsconfig.php.

Verify Fix Applied:

After applying workarounds, test with CSRF tools like Burp Suite to ensure requests are blocked without valid tokens.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /admin/profile.php from unexpected sources or without referrer headers.

Network Indicators:

  • Traffic patterns showing CSRF payloads or repeated failed admin requests.

SIEM Query:

source="web_logs" AND uri="/admin/profile.php" AND method="POST" AND NOT referrer="*admin*"

🔗 References

📤 Share & Export