CVE-2024-8940

10.0 CRITICAL

📋 TL;DR

CVE-2024-8940 is a critical unrestricted file upload vulnerability in Scriptcase version 9.4.019 that allows attackers to upload malicious files to the server without proper validation. This affects organizations using the vulnerable Scriptcase application version, potentially leading to complete system compromise.

💻 Affected Systems

Products:
  • Scriptcase
Versions: 9.4.019
Operating Systems: All platforms running Scriptcase
Default Config Vulnerable: ⚠️ Yes
Notes: Specifically affects the jQuery File Upload component in the development library path.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full server compromise leading to remote code execution, data theft, and complete system takeover.

🟠

Likely Case

Webshell deployment allowing persistent access, data exfiltration, and lateral movement within the network.

🟢

If Mitigated

Limited impact with proper file validation and restricted upload directories preventing malicious file execution.

🌐 Internet-Facing: HIGH - Directly exploitable via HTTP POST requests without authentication.
🏢 Internal Only: MEDIUM - Still exploitable by internal attackers but requires network access.

🎯 Exploit Status

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

Simple HTTP POST request to vulnerable endpoint with malicious file payload.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Update to latest Scriptcase version beyond 9.4.019

Vendor Advisory: https://www.incibe.es/en/incibe-cert/notices/aviso/multiple-vulnerabilities-scriptcase

Restart Required: Yes

Instructions:

1. Backup current Scriptcase installation. 2. Download latest version from official vendor. 3. Replace vulnerable files. 4. Restart web server. 5. Verify fix by testing upload functionality.

🔧 Temporary Workarounds

Block vulnerable endpoint

all

Restrict access to the vulnerable jQuery File Upload endpoint

# Apache: RewriteRule ^/scriptcase/devel/lib/third/jquery_plugin/jQuery-File-Upload/server/php/ - [F]
# Nginx: location ~ ^/scriptcase/devel/lib/third/jquery_plugin/jQuery-File-Upload/server/php/ { deny all; }

Implement file upload restrictions

all

Configure web server to restrict file uploads to specific extensions

# Apache: <Location "/scriptcase/devel/lib/third/jquery_plugin/jQuery-File-Upload/server/php/"> SetEnvIf Request_URI ".*\.(php|phtml|php3|php4|php5|php7|phps|phar|inc|pl|py|jsp|asp|aspx|sh|bash|cmd|bat|exe|dll)$" block_upload </Location>

🧯 If You Can't Patch

  • Implement strict WAF rules to block malicious file upload patterns
  • Monitor and alert on file uploads to the vulnerable endpoint

🔍 How to Verify

Check if Vulnerable:

Check Scriptcase version in admin panel or verify existence of vulnerable endpoint at /scriptcase/devel/lib/third/jquery_plugin/jQuery-File-Upload/server/php/

Check Version:

Check Scriptcase version in application interface or configuration files

Verify Fix Applied:

Test file upload functionality with malicious extensions and verify they are rejected

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /scriptcase/devel/lib/third/jquery_plugin/jQuery-File-Upload/server/php/
  • File uploads with suspicious extensions (.php, .jsp, .exe)

Network Indicators:

  • HTTP POST traffic to vulnerable endpoint with file uploads
  • Unusual file upload patterns to Scriptcase

SIEM Query:

source="web_server" AND (uri="/scriptcase/devel/lib/third/jquery_plugin/jQuery-File-Upload/server/php/" OR file_extension IN ("php", "jsp", "exe", "sh"))

🔗 References

📤 Share & Export