CVE-2022-35857

9.8 CRITICAL

📋 TL;DR

CVE-2022-35857 is a critical remote code execution vulnerability in kvf-admin that allows attackers to execute arbitrary code on affected systems. The vulnerability exists due to insecure deserialization of the rememberMe parameter encrypted with a hardcoded key. Any organization running vulnerable versions of kvf-admin is affected.

💻 Affected Systems

Products:
  • kvf-admin
Versions: All versions through 2022-02-12
Operating Systems: Any OS running kvf-admin
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability is present in the default configuration due to the hardcoded encryption key in ShiroConfig.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise allowing attackers to execute arbitrary commands, steal sensitive data, install malware, or pivot to other systems in the network.

🟠

Likely Case

Remote code execution leading to data theft, system takeover, and potential lateral movement within the network.

🟢

If Mitigated

Attackers cannot execute arbitrary code but may still attempt other attack vectors; proper controls limit damage to isolated systems.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable without authentication, making internet-facing systems immediate targets.
🏢 Internal Only: HIGH - Even internal systems are vulnerable to attacks from compromised internal hosts or malicious insiders.

🎯 Exploit Status

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

Exploitation is straightforward due to the hardcoded key and public proof-of-concept code available in GitHub issues.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after 2022-02-12

Vendor Advisory: https://github.com/kalvinGit/kvf-admin/issues/16

Restart Required: Yes

Instructions:

1. Upgrade kvf-admin to version after 2022-02-12. 2. Replace the hardcoded encryption key with a secure, unique key. 3. Restart the application server.

🔧 Temporary Workarounds

Disable rememberMe functionality

all

Temporarily disable the vulnerable rememberMe feature to prevent exploitation

Modify application configuration to set shiro.rememberMe.enabled=false

Web Application Firewall rule

all

Block requests containing rememberMe parameter patterns

Configure WAF to block requests with rememberMe parameter containing serialized data patterns

🧯 If You Can't Patch

  • Isolate affected systems from internet access and restrict network connectivity
  • Implement strict network segmentation and monitor for unusual rememberMe parameter usage

🔍 How to Verify

Check if Vulnerable:

Check if kvf-admin version is 2022-02-12 or earlier and examine ShiroConfig for hardcoded encryption key

Check Version:

Check application version in web interface or configuration files

Verify Fix Applied:

Verify kvf-admin version is after 2022-02-12 and confirm encryption key has been changed from default

📡 Detection & Monitoring

Log Indicators:

  • Unusual rememberMe parameter values in HTTP requests
  • Multiple failed authentication attempts followed by successful rememberMe usage
  • Java deserialization errors in application logs

Network Indicators:

  • HTTP POST requests with rememberMe parameter containing encoded/serialized data
  • Unusual outbound connections from application server

SIEM Query:

source="web_logs" AND rememberMe="*" AND (status=200 OR status=302)

🔗 References

📤 Share & Export