CVE-2021-44093

9.8 CRITICAL

📋 TL;DR

CVE-2021-44093 is a critical remote command execution vulnerability in zrlog 2.2.2 that allows attackers to bypass file upload restrictions and upload malicious JSP files to gain web shell access. This affects all users running the vulnerable version of zrlog blogging software. Attackers can execute arbitrary commands on the server with the privileges of the web application.

💻 Affected Systems

Products:
  • zrlog
Versions: 2.2.2
Operating Systems: All platforms running zrlog
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects zrlog 2.2.2 version. The vulnerability is in the avatar upload function which is typically accessible to authenticated users.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise allowing attackers to execute arbitrary commands, steal data, install malware, pivot to internal networks, and maintain persistent access.

🟠

Likely Case

Attackers upload web shells to gain remote command execution, potentially defacing websites, stealing sensitive data, or using the server for further attacks.

🟢

If Mitigated

With proper file upload validation and web application firewalls, exploitation attempts would be blocked, limiting impact to failed attack attempts.

🌐 Internet-Facing: HIGH - The vulnerability is in a web application component accessible from the internet, allowing remote exploitation without authentication.
🏢 Internal Only: MEDIUM - While still vulnerable, internal-only deployments have reduced attack surface compared to internet-facing instances.

🎯 Exploit Status

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

Exploitation requires authentication to access the avatar upload function. Public proof-of-concept demonstrates the bypass technique.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after 2.2.2

Vendor Advisory: https://github.com/94fzb/zrlog/issues/115

Restart Required: Yes

Instructions:

1. Backup your zrlog installation and database. 2. Download the latest version of zrlog from the official repository. 3. Replace the vulnerable files with patched versions. 4. Restart the web server service. 5. Verify the fix by checking the version.

🔧 Temporary Workarounds

Disable avatar upload functionality

all

Temporarily disable the vulnerable avatar upload feature until patching can be completed.

Modify zrlog configuration to remove avatar upload options or restrict access to the upload endpoint

Implement file upload restrictions

all

Configure web server or application to block JSP file uploads and enforce strict file type validation.

Add web server rules to block .jsp file uploads at the reverse proxy or application firewall level

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate the vulnerable system from critical assets
  • Deploy a web application firewall (WAF) with rules to detect and block file upload bypass attempts

🔍 How to Verify

Check if Vulnerable:

Check if running zrlog version 2.2.2 by examining the application version in admin panel or checking installed files.

Check Version:

Check zrlog admin dashboard or examine the application's version file if accessible.

Verify Fix Applied:

Verify the version is updated beyond 2.2.2 and test the avatar upload function with JSP files to ensure they are properly rejected.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file uploads to avatar endpoint
  • JSP file upload attempts
  • Multiple failed upload attempts followed by successful upload

Network Indicators:

  • POST requests to upload endpoints with JSP file extensions
  • Unusual outbound connections from web server

SIEM Query:

source="web_server" AND (url_path="/upload/avatar" OR file_extension=".jsp") AND status="200"

🔗 References

📤 Share & Export