言語インジェクション

high Web App Scanning プラグイン ID 113317

概要

言語インジェクション

説明

Expression Language (EL) は、開発者にオブジェクトモデルからデータを出力する簡単な方法を提供するために、Java Server Pages Standard Tag Library (JSTL) の一部として定義されています。JSP 2.0 仕様から、Expression Language が JSP ページ内で利用可能になりましたが、次のような多くの実装にも存在しています。
- Apache Jakarta
- Struts および WebWork が使用する Object-Graph Navigation Language (OGNL)
- MVFLEX Expression Language (MVEL)
- Spring Expression Language (SPEL)

アプリケーションが安全でないユーザー制御の入力を組み込み、これが式インタープリターによって動的に評価されるときには、Expression Language Injection インジェクション (ELI) の脆弱性が存在します。

攻撃者は、アプリケーションが使用する式インタープリターに依存する特定のペイロードを注入してこの脆弱性を利用し、機密情報にアクセスしたり、ターゲットサーバー上でリモートでコードを実行したりする可能性があります。

ソリューション

悪意のあるインジェクションを防ぐために、開発者は信頼できないユーザー入力から直接派生した式の評価を回避する必要があります。アプリケーションでこのタイプの入力が依然として必要な場合は、許可リストの使用による、または特殊文字使用のフィルタリングによる、高度な式のインジェクションを回避するために、ユーザー指定のデータを厳密に検証する必要があります。

参考資料

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

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

プラグインの詳細

深刻度: 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