運算式語言插入

high Web App Scanning Plugin ID 113317

概要

運算式語言插入

說明

運算式語言 (EL) 已成為 Java Server Pages Standard Tag Library (JSTL) 的一部分,以便為開發人員提供從物件模型輸出資料的簡單方式。從 JSP 2.0 規格開始,JSP 頁面中已提供運算式語言,但 EL 也存在於其他許多實作中,例如:
- Apache Jakarta
- Struts 和 WebWork 使用的 Object-Graph Navigation Language (OGNL)
- MVFLEX Expression Language (MVEL)
- Spring Expression Language (SPEL)

當應用程式合併由運算式解譯器動態評估的不安全使用者控制輸入時,會產生運算式語言插入 (ELI) 弱點。

攻擊者可根據應用程式所使用的運算式解譯器插入特定承載,利用此弱點取得敏感資訊的存取權,或在目標伺服器上發動遠端程式碼執行攻擊。

解決方案

開發人員應避免評估直接衍生自非受信任使用者輸入的運算式,以防止惡意插入。如果應用程式仍需要此類型的輸入,則應嚴格驗證使用者提供的資料,以免攻擊者藉由使用允許清單或篩選特殊字元的使用來插入進階運算式。

另請參閱

https://mindedsecurity.com/wp-content/uploads/2020/10/ExpressionLanguageInjection.pdf

https://owasp.org/www-community/vulnerabilities/Expression_Language_Injection

Plugin 詳細資訊

嚴重性: High

ID: 113317

類型: remote

系列: Injection

已發布: 2022/8/8

已更新: 2023/7/6

掃描範本: api, full, pci, scan

風險資訊

VPR

風險因素: Medium

分數: 4.7

CVSS v2

風險因素: High

基本分數: 9

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

CVSS 評分資料來源: Tenable

CVSS v3

風險因素: High

基本分數: 8.6

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

CVSS 評分資料來源: Tenable

參考資訊

CWE: 917

OWASP: 2010-A1, 2013-A1, 2017-A1, 2021-A3

WASC: Improper Input Handling

CAPEC: 10, 101, 108, 120, 13, 135, 14, 24, 250, 267, 273, 28, 3, 34, 42, 43, 45, 46, 47, 51, 52, 53, 6, 64, 67, 7, 71, 72, 76, 78, 79, 8, 80, 83, 84, 9

DISA STIG: APSC-DV-002560

HIPAA: 164.306(a)(1), 164.306(a)(2)

ISO: 27001-A.14.2.5

NIST: sp800_53-SI-10

OWASP API: 2019-API8

OWASP ASVS: 4.0.2-5.2.5

PCI-DSS: 3.2-6.5.1