Python 物件還原序列化

critical Web App Scanning Plugin ID 113229

概要

Python 物件還原序列化

說明

序列化是將物件轉換為位元組資料流的處理程序,目的是透過網路儲存或傳送該物件。相反,還原序列化是從此位元組資料流重建物件的處理程序。

當 Python Web 應用程式使用 `pickle` 程式庫對使用者提供的資料執行還原序列化時,攻擊者可插入自訂序列化 Python 物件,以便在系統上觸發遠端程式碼執行,或產生拒絕服務攻擊 (DoS)。

解決方案

應用程式絕不應還原序列化未受信任的資料。必要時,應檢閱程式碼,以防止對任意類別執行還原序列化,並強化整個處理程序。

另請參閱

https://cheatsheetseries.owasp.org/cheatsheets/Deserialization_Cheat_Sheet.html

https://davidhamann.de/2020/04/05/exploiting-python-pickle/

https://intoli.com/blog/dangerous-pickles/

https://resources.infosecinstitute.com/10-steps-avoid-insecure-deserialization/#gref

https://www.owasp.org/index.php/Deserialization_of_untrusted_data

Plugin 詳細資訊

嚴重性: Critical

ID: 113229

類型: remote

已發布: 2022/5/18

已更新: 2022/5/18

掃描範本: api, pci, scan

風險資訊

VPR

風險因素: High

分數: 7.5

CVSS v2

風險因素: High

基本分數: 7.6

媒介: CVSS2#AV:N/AC:H/Au:N/C:C/I:C/A:C

CVSS 評分資料來源: Tenable

CVSS v3

風險因素: Critical

基本分數: 9

媒介: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

CVSS 評分資料來源: Tenable

參考資訊