fix(security): replace unsafe pickle.loads with SafeUnpickler for CVE-2026-3989 (#20904)
This commit is contained in:
@@ -10,7 +10,6 @@ python3 replay_request_dump.py --parallel 512 --input-file /data/sglang_crash_du
|
||||
import argparse
|
||||
import glob
|
||||
import json
|
||||
import pickle
|
||||
import time
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
from dataclasses import asdict
|
||||
@@ -19,6 +18,7 @@ from datetime import datetime
|
||||
import requests
|
||||
|
||||
from sglang.benchmark.utils import set_ulimit
|
||||
from sglang.srt.utils.common import safe_pickle_load
|
||||
from sglang.utils import get_exception_traceback
|
||||
|
||||
|
||||
@@ -54,7 +54,8 @@ def normalize_request_data(json_data):
|
||||
def read_records(files):
|
||||
records = []
|
||||
for f in files:
|
||||
tmp = pickle.load(open(f, "rb"))
|
||||
with open(f, "rb") as fh:
|
||||
tmp = safe_pickle_load(fh)
|
||||
if isinstance(tmp, dict) and "requests" in tmp:
|
||||
records.extend(tmp["requests"])
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user