H2 Database Console に Log4Shell と同じ構造の脆弱性:約 6,800 件のアーティファクトに影響

Log4Shell-like Critical RCE Flaw Discovered in H2 Database Console

2022/01/07 TheHackerNews — H2 データベース・コンソールで発見されたリモートコード実行の脆弱性だが、先月に明らかになった Log4Shell と同じ構造を持つ欠陥であることが、研究者たちにより公表された。JFrog の研究者である Andrey Polkovenko と Shachar Menashe は、「Log4j 以外のコンポーネントで発表された、Log4Shell に似た初めての深刻な問題であり、Log4Shell と同じ根本的な原因であう、JNDI リモートクラス・ローディングを悪用するものだ」と述べている。

H2 は、アプリケーションへの組み込みや、クライアント・サーバー・モードなどで利用できる、Javaで書かれたオープンソースの RDB 管理システムである。Maven Repository によると、H2 データベース・エンジンは約 6,800 件のアーティファクトで使用されている。

JNDI とは Java Naming and Directory Interface の略であり、Java アプリケーションに名前とディレクトリの機能を提供する API を指し、この API を LDAP と組み合わせることで、必要な特定のリソースを見つけることが可能となる。

Log4Shell の場合、この機能により、ネットワーク内外のサーバーへのランタイム Lookup (検索) が可能になる。これを武器にして、認証されていないリモートコード実行を許可し、Log4j ライブラリの脆弱なバージョンを使用して、ログに記録する Java アプリケーションへの入力として、悪意の JNDI Lookup を作成することで、サーバーにマルウェアを埋め込むことが可能になる。

JFrog セキュリティ・リサーチの Senior Director である Menashe は、「12月初旬に発見された Log4Shell と同様に、攻撃者が制御する URL が JNDI Lookup に伝搬することで、認証されないリモートコードの実行が可能となり、攻撃者によるシステムの操作が単独かつ容易に行われる」と説明している。

この欠陥は、H2 データベースの Ver 1.1.100〜2.0.204 に影響し、2022年1月5日に出荷された Ver 2.0.206 で対処されている。Menashe は、「H2 データベースは、Spring Boot/Play Framework/JHipster などの、数多くのサードパーティ・フレームワークで使用されている。この脆弱性は Log4Shell ほど広まっていないが、適宜対処しないと開発者やプロダクション・システムに多大な影響を与える可能性がある」と付け加えている。

悪意の JNDI Lookup とLDAP の組み合わせという、Log4Shell と同じパターンの脆弱性が、H2 Database Console でも発見されたとのことです。おそらく、これからも同様の脆弱性が明らかにされるのでしょうが、Log4J のようなシステムの深部で利用されるものでないと良いですね。よろしければ、先日にポストした「Log4j が明らかにしたもの:ソフトウェアの依存関係と SBoM のすすめ」をご参照ください。→ Log4j まとめページ

%d bloggers like this: