AI推論框架SGLang曝RCE漏洞,惡意GGUF模型可觸發任意程式碼執行
美國卡內基美隆大學軟體工程研究所旗下的CERT協調中心(CERT/CC)於2026年4月20日公告該漏洞,並將概念驗證公開於GitHub。CERT/CC表示,截至公告發布時,SGLang專案維護者未回應,也未提供修補程式。
SGLang是一套用於部署大型語言模型與多模態模型的開源推論框架,相容OpenAI API規格,支援Qwen、DeepSeek、Mistral與Skywork等主流模型,在開源LLM推論基礎設施領域有一定能見度。
此次漏洞出在SGLang的重新排序(Reranking)功能端點/v1/rerank。該端點在處理相關請求時,會建立Jinja2模板的執行環境,但採用的是未經沙箱限制的設定。這使模型檔中的chat_template在套用時,可能跳脫原有執行限制,在伺服器上執行任意Python程式碼。
攻擊者可先在GGUF格式模型檔的tokenizer.chat_template欄位,植入惡意Jinja2伺服器端模板注入(SSTI)酬載開始,並加入特定觸發內容,引導請求進入含有漏洞的處理流程。受害者要是從HuggingFace等模型平臺下載並載入該惡意模型,只要後續有請求送至/v1/rerank端點,SGLang就可能讀取並套用模型內的chat_template,使惡意酬載在伺服器上執行。攻擊者一旦成功利用此漏洞,便可能取得SGLang服務的執行權限,導致主機遭入侵、橫向移動、資料外洩或阻斷服務(DoS)等風險。
CERT/CC建議,應將_get_jinja_env()函式中的jinja2.Environment()替換為ImmutableSandboxedEnvironment,阻絕任意程式碼執行的可能性。凡是將/v1/rerank端點對外部或不受信任網路開放的SGLang部署,均屬高風險環境,應優先採取緩解措施或評估暫時關閉該端點。
CERT/CC Vulnerability Note VU#915947
SGLang is vulnerable to remote code execution when rendering chat templates from a model file
kb.cert.org
Comments (0)