CVE-2024-33332

7.5 HIGH

📋 TL;DR

This vulnerability in SpringBlade 3.7.1 allows attackers to retrieve sensitive information through a crafted GET request to the tenant API endpoint. It affects systems running vulnerable versions of SpringBlade that expose the affected API endpoint. The vulnerability enables unauthorized access to potentially confidential tenant data.

💻 Affected Systems

Products:
  • SpringBlade
Versions: 3.7.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with the blade-system/tenant API endpoint accessible.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could exfiltrate all tenant configuration data, user information, and system secrets, leading to complete compromise of multi-tenant environments and potential lateral movement.

🟠

Likely Case

Unauthorized access to tenant-specific configuration data, potentially exposing sensitive business information and user details.

🟢

If Mitigated

Limited exposure with proper authentication and authorization controls preventing unauthorized API access.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Simple HTTP GET request to vulnerable endpoint with no authentication required.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Not available

Restart Required: No

Instructions:

1. Monitor SpringBlade GitHub repository for security updates
2. Apply patch when available
3. Test in development environment before production deployment

🔧 Temporary Workarounds

API Endpoint Restriction

all

Block or restrict access to the vulnerable API endpoint

# Example nginx configuration to block the endpoint
location /api/blade-system/tenant {
    deny all;
    return 403;
}

Authentication Enforcement

all

Require authentication for all API endpoints

# Spring Security configuration example
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
            .antMatchers("/api/blade-system/tenant").authenticated()
            .and().httpBasic();
    }
}

🧯 If You Can't Patch

  • Implement network segmentation to isolate SpringBlade instances
  • Deploy WAF with rules to detect and block exploitation attempts

🔍 How to Verify

Check if Vulnerable:

Send GET request to /api/blade-system/tenant endpoint and check if sensitive data is returned without authentication

Check Version:

Check SpringBlade version in pom.xml or application properties

Verify Fix Applied:

Attempt the same GET request after applying controls - should receive 403/401 response or no sensitive data

📡 Detection & Monitoring

Log Indicators:

  • Unusual GET requests to /api/blade-system/tenant
  • Multiple 200 responses from tenant endpoint from single IP
  • Large data transfers from API endpoint

Network Indicators:

  • HTTP GET requests to vulnerable endpoint without authentication headers
  • Unusual traffic patterns to tenant API

SIEM Query:

source="web_server" AND (uri="/api/blade-system/tenant" OR uri="/api/blade-system/tenant/") AND response_code=200 AND NOT auth_token=*

🔗 References

📤 Share & Export