公開:

【CVE-2024-47074】DataEaseにPostgreSQLデータソースの脆弱性が発見、システム特権取得のリスクが明らかに

text: XEXEQ編集部
(記事は執筆時の情報に基づいており、現在では異なる場合があります)


記事の要約

  • DataEaseにPostgreSQLデータソースの脆弱性が発見
  • JDBCパラメータの検証不備により特権取得が可能に
  • 深刻な脆弱性はv1.18.25で修正完了

DataEaseのPostgreSQLデータソースにおける脆弱性

GitHubは2024年10月11日、オープンソースのデータ可視化分析ツールDataEaseにおいて、PostgreSQLデータソースのJDBC接続パラメータに関する深刻な脆弱性【CVE-2024-47074】を公開した。PgConfigurationクラスがパラメータをフィルタリングせずに直接結合する仕様により、攻撃者が不正なPGサーバーに接続してシステム特権を取得できる状態になっていたのだ。[1]

攻撃者はJDBCのURLに悪意のあるパラメータを追加し、不正なPGサーバーに接続することでPostgreSQLのJDBCデシリアライゼーション脆弱性を悪用できる状態にあった。この脆弱性を利用することで、攻撃者はシステムコマンドを実行してサーバーの特権を取得することが可能になっていたのである。

脆弱性の深刻度を示すCVSSスコアは9.3であり、重大な影響をもたらす可能性がある脆弱性として評価されている。この問題に対してDataEaseの開発チームは迅速に対応し、バージョン1.18.25でパラメータの検証機能を実装することで脆弱性を修正したことが確認された。

DataEaseの脆弱性詳細

項目 詳細
脆弱性ID CVE-2024-47074
影響を受けるバージョン v1.18.25未満
脆弱性の種類 デシリアライゼーション(CWE-502)
CVSSスコア 9.3(Critical)
修正バージョン v1.18.25
影響 システム特権の取得が可能

デシリアライゼーションについて

デシリアライゼーションとは、シリアル化されたデータを元のオブジェクトに復元するプロセスのことを指す。主な特徴として、以下のような点が挙げられる。

  • オブジェクトの状態をバイトストリームから復元する処理
  • データの永続化や転送に不可欠な技術
  • 信頼できないデータの処理時にセキュリティリスクが発生

PostgreSQLのJDBCドライバーにおけるデシリアライゼーション処理は、接続パラメータを介して悪意のあるコードを実行される可能性がある。DataEaseの脆弱性では、このデシリアライゼーション処理を悪用することでシステムコマンドの実行やサーバー特権の取得が可能な状態となっていた。

DataEaseのPostgreSQLデータソース脆弱性に関する考察

DataEaseの開発チームが迅速に脆弱性を修正したことは評価に値するが、基本的なパラメータ検証が実装されていなかった点は深刻な課題として捉える必要がある。特にデータベース接続における入力値の検証は、セキュリティ上の基本要件であり、開発初期段階での実装が望ましかったのだろう。

今後同様の問題を防ぐためには、コードレビューの強化とセキュリティテストの拡充が不可欠となるだろう。特にオープンソースプロジェクトでは、コミュニティによる積極的なセキュリティレビューを促進する仕組みづくりが重要になってくる。

また、データベース接続機能の実装においては、パラメータのホワイトリスト方式による制限や、接続先サーバーの検証機能の追加が望まれる。セキュリティを重視した開発プロセスの確立と、継続的なセキュリティ教育によって、より安全なプロダクトへと進化することが期待される。

参考サイト

  1. ^ CVE. 「CVE Record | CVE」. https://www.cve.org/CVERecord?id=CVE-2024-47074, (参照 24-11-14).

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「セキュリティ」に関するコラム一覧「セキュリティ」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。