fix(security): replace unsafe pickle.loads with SafeUnpickler for CVE-2026-3989 (#20904)

This commit is contained in:
zwang86
2026-03-27 00:43:41 -07:00
committed by GitHub
parent 8d4fca5908
commit 5fc5c18bed
3 changed files with 9 additions and 2 deletions
+3 -2
View File
@@ -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: