CVE-2025-2334
📋 TL;DR
This vulnerability allows remote attackers to delete chat histories they shouldn't have access to due to improper access controls in the deleteChat function. It affects users of the springboot-openai-chatgpt component's chat history handler. Attackers can exploit this to delete other users' chat data without authorization.
💻 Affected Systems
- springboot-openai-chatgpt
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Mass deletion of user chat histories, potential data loss, and disruption of service functionality.
Likely Case
Targeted deletion of specific users' chat histories, causing data loss and potential privacy violations.
If Mitigated
Minimal impact with proper access controls preventing unauthorized deletions.
🎯 Exploit Status
Exploit has been publicly disclosed and manipulation of chatListId parameter leads to improper access controls.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: None available
Restart Required: Yes
Instructions:
1. Check repository for security updates. 2. Apply any available patches. 3. Restart the application service. 4. Verify fix implementation.
🔧 Temporary Workarounds
Implement Access Control Validation
allAdd server-side validation to ensure users can only delete their own chat histories
Modify deleteChat function to verify user ownership of chatListId
Disable Vulnerable Endpoint
allTemporarily disable the /api/mjkj-chat/chat/ai/delete/chat endpoint
Comment out or remove endpoint mapping in Spring Boot configuration
🧯 If You Can't Patch
- Implement network-level access controls to restrict who can reach the vulnerable endpoint
- Add application-level logging and monitoring for unauthorized delete attempts
🔍 How to Verify
Check if Vulnerable:
Check if running commit e84f6f5 of springboot-openai-chatgpt and test if unauthorized users can delete others' chat histories via the deleteChat endpoint.
Check Version:
git log --oneline -1 (to check current commit hash)
Verify Fix Applied:
Test that only authenticated users can delete their own chat histories and unauthorized attempts are properly rejected.
📡 Detection & Monitoring
Log Indicators:
- Multiple DELETE requests to /api/mjkj-chat/chat/ai/delete/chat from single user
- Failed authorization attempts for chat deletion
Network Indicators:
- Unusual pattern of DELETE requests to chat deletion endpoint
- Requests with manipulated chatListId parameters
SIEM Query:
source="application.logs" AND (uri="/api/mjkj-chat/chat/ai/delete/chat" AND method="DELETE") | stats count by src_ip, user_agent