CVE-2024-33783
📋 TL;DR
CVE-2024-33783 is a buffer overflow vulnerability in MP-SPDZ v0.3.8's SilentPprf.cpp that allows attackers to trigger a segmentation fault via crafted messages, causing Denial of Service. This affects systems running MP-SPDZ v0.3.8 for secure multi-party computation operations. The vulnerability is exploitable by anyone who can send messages to the vulnerable component.
💻 Affected Systems
- MP-SPDZ
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete service disruption of MP-SPDZ processes, potentially affecting dependent applications and services that rely on secure multi-party computation.
Likely Case
Targeted DoS attacks against MP-SPDZ instances, causing service interruptions and requiring process restarts.
If Mitigated
Limited impact with proper network segmentation and input validation, though DoS could still affect isolated components.
🎯 Exploit Status
Proof-of-concept available in the referenced GitHub repository. Exploitation requires sending crafted messages to the vulnerable function.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: v0.3.9 or later
Vendor Advisory: https://github.com/data61/MP-SPDZ
Restart Required: Yes
Instructions:
1. Update MP-SPDZ to v0.3.9 or later using git pull or downloading latest release. 2. Recompile the software. 3. Restart all MP-SPDZ processes.
🔧 Temporary Workarounds
Input Validation Wrapper
allImplement message validation before passing to osuCrypto::SilentMultiPprfReceiver::expand function
# Custom wrapper function to validate input size and format before calling expand()
Process Isolation
linuxRun MP-SPDZ in isolated containers with resource limits to contain DoS impact
docker run --memory=512m --cpus=1 -it mp-spdz-container
🧯 If You Can't Patch
- Implement network-level filtering to block suspicious messages to MP-SPDZ services
- Deploy monitoring with automatic restart for crashed MP-SPDZ processes
🔍 How to Verify
Check if Vulnerable:
Check if MP-SPDZ version is exactly 0.3.8 by examining the source code or build configuration
Check Version:
grep 'VERSION' MP-SPDZ/configure.ac | head -1
Verify Fix Applied:
Verify version is 0.3.9 or later and test with the provided PoC to confirm no segmentation fault occurs
📡 Detection & Monitoring
Log Indicators:
- Segmentation fault errors in system logs
- MP-SPDZ process crashes with signal 11 (SIGSEGV)
- Abnormal termination of SilentPprf-related processes
Network Indicators:
- Unusually formatted messages to MP-SPDZ services
- Burst of connection attempts followed by service unavailability
SIEM Query:
process_name:"MP-SPDZ" AND (event_id:"1000" OR signal:"11" OR error:"segmentation fault")