CVE-2024-58400 - llama.cpp b3701 前版本出現越界讀取漏洞
CVE-2024-58400 - llama.cpp before b3701 Out-of-Bounds Read in llama_decode via Token IDs
llama.cpp 在 b3701 之前的版本存在越界讀取漏洞,遠端未授權攻擊者可透過傳送非法 token ID 讀取記憶體或導致程式崩潰。
此漏洞可使未授權攻擊者讀取記憶體,提示使用者盡快升級至 b3701 以上版本以避免資料洩漏或服務中斷。
llama.cpp 在 b3701 之前的版本包含一個越界讀取漏洞,發生於 llama_decode_internal 與 llama_encode_internal,允許遠端未授權攻擊者透過提供未經驗證的 token ID 讀取記憶體。攻擊者可以向 llama-server 的 /completion 端點送出整數陣列提示,使用 0~n_vocab 之外的 ID 以讀取嵌入記憶體或造成程式崩潰。
影響
受影響產品
以下產品受到 CVE-2024-58400 漏洞影響。即使 cvefeed.io 已知受影響產品的精確版本,資訊亦未在下表中呈現。
| ID | Vendor | Product | Action |
|---|---|---|---|
| 1 | Ggml-org | llama.cpp |
常見漏洞評分系統(Common Vulnerability Scoring System)是一個標準化框架,用於評估軟體與系統漏洞的嚴重程度。我們從多個來源收集並顯示每個 CVE 的 CVSS 分數。
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | 高 | 83251b91-4cc7-4094-a5c7-464a1b83ea10 | ||||
| CVSS 4.0 | 高 | 83251b91-4cc7-4094-a5c7-464a1b83ea10 |
更新 llama.cpp 至 b3701 之後的版本以修復記憶體讀取問題。
- 將 llama.cpp 更新至 b3701 之後的版本。
- 驗證所有 token ID 於處理前。
- 如可能,限制輸入僅來自可信來源。
我們掃描 GitHub 倉庫以偵測新的概念驗證漏洞。以下清單為已於 GitHub 釋出的公開漏洞與概念驗證(按最近更新時間排序)。
結果僅限於前 15 個倉庫,以避免潛在的效能問題。
以下列出在文章中提及 CVE-2024-58400 漏洞的新聞。
EPSS 是對未來 30 天內觀測到利用活動機率的每日估算。下圖顯示該漏洞的 EPSS 分數歷史。