CVE-2024-11680

9.8 CRITICAL

📋 TL;DR

CVE-2024-11680 is an authentication bypass vulnerability in ProjectSend file sharing software. Unauthenticated attackers can modify application configuration via crafted HTTP requests to options.php, potentially creating accounts, uploading webshells, or injecting malicious JavaScript. All ProjectSend installations prior to version r1720 are affected.

💻 Affected Systems

Products:
  • ProjectSend
Versions: All versions prior to r1720
Operating Systems: All platforms running ProjectSend
Default Config Vulnerable: ⚠️ Yes
Notes: All default installations are vulnerable; no special configuration required for exploitation

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise via remote code execution, data theft, and persistent backdoor installation

🟠

Likely Case

Unauthorized file uploads, account creation, and potential web shell deployment leading to data exfiltration

🟢

If Mitigated

Limited impact with proper network segmentation and web application firewalls blocking malicious requests

🌐 Internet-Facing: HIGH - Directly exploitable without authentication via HTTP requests
🏢 Internal Only: HIGH - Internal attackers can exploit this with network access to the application

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Metasploit module available; simple HTTP request exploitation with public proof-of-concept

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: r1720

Vendor Advisory: https://github.com/projectsend/projectsend/commit/193367d937b1a59ed5b68dd4e60bd53317473744

Restart Required: No

Instructions:

1. Backup current installation. 2. Download and install ProjectSend r1720 or later. 3. Replace all files with new version. 4. Verify configuration integrity.

🔧 Temporary Workarounds

Block access to options.php

all

Restrict access to vulnerable endpoint via web server configuration

# Apache: RewriteRule ^options\.php$ - [F,L]
# Nginx: location ~ /options\.php$ { deny all; }

Implement IP restriction

all

Restrict access to ProjectSend administration interface to trusted IPs only

# Apache: Require ip 192.168.1.0/24
# Nginx: allow 192.168.1.0/24; deny all;

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block requests to options.php with suspicious parameters
  • Disable ProjectSend instance and migrate to alternative file sharing solution

🔍 How to Verify

Check if Vulnerable:

Check if version is below r1720 or test with Nuclei template: nuclei -u https://target.com -t projectsend-auth-bypass.yaml

Check Version:

Check includes/version.php or view page source for version information

Verify Fix Applied:

Verify version is r1720 or later and test that options.php endpoint properly validates authentication

📡 Detection & Monitoring

Log Indicators:

  • HTTP POST requests to /options.php from unauthenticated users
  • Unusual account creation events
  • File uploads to unexpected directories

Network Indicators:

  • HTTP requests to options.php with configuration parameters from unknown sources
  • Outbound connections from ProjectSend server to suspicious IPs

SIEM Query:

source="web_access.log" AND uri="/options.php" AND (method="POST" OR params CONTAINS "config")

🔗 References

📤 Share & Export