Trusted Design

CVE-2018-1273 の詳細

CVEの情報

説明:
Spring Data Commons, versions prior to 1.13 to 1.13.10, 2.0 to 2.0.5, and older unsupported versions, contain a property binder vulnerability caused by improper neutralization of special elements. An unauthenticated remote malicious user (or attacker) can supply specially crafted request parameters against Spring Data REST backed HTTP resources or using Spring Data's projection-based request payload binding hat can lead to a remote code execution attack.

CVE更新日: 2018-04-11 13:29:00.290000

CVSSバージョン: 3.1

CVSSスコア: 9.8

KEVの情報

KEV更新日: 2022-03-25

EPSSの情報

EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。

EPSSスコア: 0.956490000

EPSS更新日: 2026-07-20 00:00:00

SSVCの情報

SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。

Exploitation: active

Technical Impact: high

Automatable: True

AIを使った解説

解説:

CVE-2018-1273は、Spring Data Commonsライブラリにおけるリモートコード実行(RCE)の脆弱性です。

1. 脆弱性の概要

1.1 影響

認証されていないリモートの攻撃者が、細工されたリクエストパラメータをSpring Data RESTがサポートするHTTPリソースに対して送信することにより、任意のOSコマンドをWebアプリケーションが動作するサーバーの権限で実行する可能性があります。これにより、情報の取得、改ざん、およびサービス運用妨害(DoS)状態に陥る可能性もあります。

1.2 深刻度

この脆弱性の深刻度はPivotal Software社によってCriticalと評価されています。CVSS v3の基本値は9.8(緊急)、CVSS v2の基本値は7.5(危険)と評価されています。

2. 対象となる環境

2.1 影響を受けるOSバージョン

本脆弱性は、Spring Data Commonsライブラリ自体の脆弱性であり、特定のOSバージョンに依存するものではありません。脆弱なライブラリを使用しているWebアプリケーションが影響を受けます。

2.2 影響を受ける設定

以下のSpring Data CommonsおよびSpring Data RESTのバージョンが影響を受けます。 * Spring Data Commons 1.13 から 1.13.10 (Ingalls SR10) * Spring Data REST 2.6 から 2.6.10 (Ingalls SR10) * Spring Data Commons 2.0 から 2.0.5 (Kay SR5) * Spring Data REST 3.0 から 3.0.5 (Kay SR5) * その他サポート外の旧バージョンも影響を受けます。

この脆弱性は、Spring Data Commonsライブラリに含まれるMapDataBinderクラスが、Spring Expression Language (SpEL) 式を評価する際に、特殊な要素の処理が不適切であることに起因します。

3. 影響を受けた時の兆候

攻撃が成功した場合、Webアプリケーションが動作するサーバー上で意図しないOSコマンドが実行されます。例えば、概念実証(PoC)では、標的サーバー上でブラウザを起動して任意のURLにアクセスさせたり、idコマンドやcalcコマンド、/etc/passwdファイルの内容を表示するコマンドを実行したりする攻撃が試行されています。 攻撃が成功した場合でも、HTTPステータスコード500のエラーが返されることがあります。

4. 推奨対策

4.1 本対策

開発元より本脆弱性が修正された以下のバージョンへのアップデートが推奨されています。 * Spring Data Commons: * 1.13.x ユーザーは 1.13.11 へアップグレード * 2.0.x ユーザーは 2.0.6 へアップグレード * Spring Data REST: * 2.6.x (Ingalls SR10) ユーザーは 2.6.11 (Ingalls SR11) へアップグレード * 3.0.x (Kay SR5) ユーザーは 3.0.6 (Kay SR6) へアップグレード * サポートが終了している古いバージョンを使用している場合は、サポートされているブランチへアップグレードしてください。 * Spring Bootを使用している場合、Spring Boot 1.5.11または1.5.12、およびSpring Boot 2.0.1でこの問題が修正されています。

4.2 暫定回避策(緩和策)

  • Spring Securityによって提供される認証と認可を使用し、エンドポイントへのアクセスを認可されたユーザーに限定することで、脆弱性への露出を制限できます。
  • Web Application Firewall(WAF)や不正アクセス監視機器(IPS)を導入し、既存のJavaコードインジェクションやサーバーサイドコードインジェクションの攻撃シグネチャ、またはOSコマンド実行シグネチャを適用することで、悪用を検知・防御できる可能性があります。
  • SpEL式の制限を設けることも有効な緩和策となり得ます。本脆弱性の修正では、SpELを評価するコンテキストをStandardEvaluationContextから、Java型参照、コンストラクタ、Bean参照の評価を禁止するSimpleEvaluationContextに変更することで対策されています。

5. 追加の解説観点

5.1 脆弱性の根本原因

本脆弱性は、Spring Data CommonsのMapDataBinderクラスにおいて、Spring Expression Language (SpEL) 式が不適切に処理されることに起因します。攻撃者は、特殊な演算子(例: T())を含む細工されたリクエストを送信することで、SpELを介して任意のJavaクラスを文字列から動的に変換して実行し、結果としてリモートコード実行を引き起こします。

5.2 関連する脆弱性

CVE-2018-1273と同時に、Spring Data Commonsにおけるサービス拒否(Denial of Service)の脆弱性であるCVE-2018-1274も公表されています。 また、Springフレームワークでは、CVE-2018-1270やCVE-2018-1275など、SpELの不適切な使用に起因する類似のリモートコード実行脆弱性が相次いで報告されています。

参照したサイト

NVDサイト

NVDでCVEの詳細を見る

戻る