CVE-2022-22963

9.8 CRITICAL

📋 TL;DR

This vulnerability allows remote attackers to execute arbitrary code on systems running vulnerable versions of Spring Cloud Function. Attackers can craft malicious SpEL expressions in routing functionality to achieve remote code execution and access local resources. Organizations using Spring Cloud Function 3.1.6, 3.2.2, or older unsupported versions are affected.

💻 Affected Systems

Products:
  • Spring Cloud Function
Versions: 3.1.6, 3.2.2, and older unsupported versions
Operating Systems: All platforms running Java
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects deployments using routing functionality with routing expressions. The vulnerability is in the core framework, not dependent on specific configurations.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

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

🟠

Likely Case

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

🟢

If Mitigated

Limited impact if proper network segmentation, least privilege, and monitoring are in place, though exploitation could still cause service disruption.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Multiple public proof-of-concept exploits exist, and the vulnerability is actively exploited in the wild. No authentication is required for exploitation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Spring Cloud Function 3.1.7 and 3.2.3

Vendor Advisory: https://tanzu.vmware.com/security/cve-2022-22963

Restart Required: Yes

Instructions:

1. Update Spring Cloud Function to version 3.1.7 or 3.2.3. 2. Update dependencies in your project configuration (pom.xml or build.gradle). 3. Rebuild and redeploy the application. 4. Restart all affected services.

🔧 Temporary Workarounds

Disable routing functionality

all

If routing functionality is not required, disable it to prevent exploitation.

spring.cloud.function.routing.enabled=false

Input validation filter

all

Implement a filter to reject requests containing SpEL expressions in routing parameters.

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate vulnerable systems
  • Deploy web application firewall (WAF) rules to block malicious SpEL expressions

🔍 How to Verify

Check if Vulnerable:

Check Spring Cloud Function version in your application dependencies. If using 3.1.6, 3.2.2, or older versions, you are vulnerable.

Check Version:

Check pom.xml for <spring-cloud-function.version> or build.gradle for springCloudFunctionVersion

Verify Fix Applied:

Verify that Spring Cloud Function version is 3.1.7 or 3.2.3 in your dependencies after update.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SpEL expressions in routing parameters
  • Unexpected process execution from Spring application
  • Error logs containing SpEL parsing exceptions

Network Indicators:

  • HTTP requests with crafted routing-expression parameters
  • Outbound connections from Spring applications to unexpected destinations

SIEM Query:

source="spring-app" AND (message="*SpEL*" OR message="*routing-expression*")

🔗 References

📤 Share & Export