CVE-2020-35656

7.2 HIGH

📋 TL;DR

This vulnerability in Jaws CMS allows authenticated administrators to upload and execute arbitrary PHP files, leading to remote code execution. It affects Jaws CMS installations up to version 1.8.0. Only authenticated administrators can exploit this vulnerability.

💻 Affected Systems

Products:
  • Jaws CMS
Versions: through 1.8.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects Jaws CMS, not the unrelated JAWS (Job Access With Speech) product. Requires administrator authentication.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise with attacker gaining full control over the web server, potentially leading to data theft, lateral movement, or ransomware deployment.

🟠

Likely Case

Attacker uploads web shell and establishes persistent access to the server, enabling data exfiltration, credential harvesting, or using the server as a pivot point.

🟢

If Mitigated

With proper access controls and file upload restrictions, impact is limited to administrators who already have high privileges.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit requires administrator credentials. Multiple public proof-of-concept exploits exist.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.8.1 or later

Vendor Advisory: https://github.com/jaws-project/jaws

Restart Required: No

Instructions:

1. Backup your Jaws installation and database. 2. Download the latest version from the official repository. 3. Replace all files with the new version. 4. Run any database update scripts if provided.

🔧 Temporary Workarounds

Restrict File Uploads

all

Block PHP file uploads through web server configuration

# For Apache: add to .htaccess
<FilesMatch "\.php$">
    Deny from all
</FilesMatch>
# For Nginx: add to server block
location ~ \.php$ {
    deny all;
}

Remove Vulnerable Components

linux

Disable or remove the FileBrowser gadget if not needed

# Remove or rename the FileBrowser gadget directory
rm -rf gadgets/FileBrowser/
# Or disable via admin panel if available

🧯 If You Can't Patch

  • Implement strict access controls and monitor administrator accounts for suspicious activity
  • Deploy web application firewall (WAF) rules to block malicious file upload patterns

🔍 How to Verify

Check if Vulnerable:

Check if Jaws version is 1.8.0 or earlier and if admin.php endpoints are accessible

Check Version:

grep -r "define.*JAWS_VERSION" includes/ || find . -name "*.php" -exec grep -l "JAWS_VERSION" {} \;

Verify Fix Applied:

Verify version is 1.8.1 or later and test that PHP file uploads are properly restricted

📡 Detection & Monitoring

Log Indicators:

  • POST requests to admin.php with reqGadget=Components&reqAction=InstallGadget&comp=FileBrowser
  • File uploads with .php extension via FileBrowser gadget
  • Unusual administrator login patterns or from unexpected locations

Network Indicators:

  • HTTP requests containing 'reqGadget=FileBrowser&reqAction=Files' with file uploads
  • Traffic to unexpected PHP files in upload directories

SIEM Query:

source="web_logs" AND (uri="*/admin.php*" AND (query="*reqGadget=Components*" OR query="*reqGadget=FileBrowser*"))

🔗 References

📤 Share & Export