用戶端原型污染

high Web App Scanning Plugin ID 112719

概要

用戶端原型污染

說明

基於原型的程式設計語言依賴於下列過程:將物件定義為原型,然後延伸或複製以建立新物件。一旦具現化,這些物件將從其原型的屬性和方法繼承。

JavaScript 是伺服器端和用戶端元件上現代 Web 應用程式中最常見的一種基於原型的語言。幾乎所有 JavaScript 物件都是 Object 的執行個體,因此他們都繼承自 Object 原型的屬性和方法。

如果攻擊者能夠在 Web 瀏覽器內容中修改 Object 原型的屬性,就會產生用戶端原型污染弱點,使應用程式使用者暴露於跨網站指令碼攻擊或拒絕服務攻擊等其他問題。

解決方案

必須正確清理輸入,以防止攻擊者在某些作業 (例如合併或複製物件) 期間嘗試利用諸如原型或建構函式等屬性時修改 Object 原型。也可以使用 Object.create(null) 建構函式,在沒有原型的情況下將 JavaScript 物件明確具現化。最後,建議使用 Map 物件作為金鑰與值儲存區,因為其中不包含物件原型金鑰,因此可防止發生污染。

另請參閱

https://portswigger.net/daily-swig/prototype-pollution-the-dangerous-and-underrated-vulnerability-impacting-javascript-applications

https://research.securitum.com/prototype-pollution-and-bypassing-client-side-html-sanitizers/

https://snyk.io/blog/snyk-research-team-discovers-severe-prototype-pollution-security-vulnerabilities-affecting-all-versions-of-lodash/

Plugin 詳細資訊

嚴重性: High

ID: 112719

類型: remote

已發布: 2021/5/6

已更新: 2023/7/6

掃描範本: full, pci, scan

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: Medium

基本分數: 6.5

媒介: CVSS2#AV:N/AC:L/Au:S/C:P/I:P/A:P

CVSS 評分資料來源: CVE-2021-20083

CVSS v3

風險因素: High

基本分數: 8.8

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

CVSS 評分資料來源: CVE-2021-20083

弱點資訊

可被惡意程式利用: true

可輕鬆利用: Exploits are available

參考資訊

CVE: CVE-2021-20083, CVE-2021-20084, CVE-2021-20085, CVE-2021-20086, CVE-2021-20087, CVE-2021-20088, CVE-2021-20089