Zlog Library の深刻な脆弱性 CVE-2024-22857 と PoC:インクルードしているアプリは要注意

CVE-2024-22857: Critical Flaw in Popular Zlog Library Opens Door to Arbitrary Code Execution

2024/03/10 SecurityOnline — Ebryx のセキュリティ研究者である Faran Abdullah と Ali Raza は、人気のオープンソースの C Logging ライブラリで Zlog の深刻な脆弱性を発見した。この、ヒープバッファ・オーバーフローの脆弱性 CVE-2024-22857 の、悪用に成功したリモートの攻撃者は、システム上で任意のコードを実行する可能性を持てる。

Zlog とは?

Zlog の高性能ロギング機能は、信頼性と柔軟性に富んでおり、開発者たちに支持されている。また、カスタマイズ可能なコンフィグ・ファイルにより、ユーザーはロギング動作を広範囲にわたり調整できる。この柔軟性により、幅広いソフトウェア・アプリケーションの中に、Zlog が統合されることも多々ある。

脆弱性 CVE-2024-22857 を理解する

この脆弱性の核心は、zlog_rule_new() 関数にある。この関数は、コンフィグ・ファイルを解析する役割を担っているが、ユーザー定義の文字列に対して、十分な長さチェックが行われていない。したがって攻撃者たちは、意図的にオーバーサイズの文字列値を取り込んだ、悪意のコンフィグ・設定ファイルを作成することで、この見落としを悪用することができる。このオーバーフローにより、メモリが破壊され、アプリケーションの制御フローが乗っ取られる可能性が生じる。

リスクを示す PoC エクスプロイト
Image: Ebryx

ebryx の研究者たちは、PoC エクスプロイトで、この問題を実証している。コンフィグ・ファイルを注意深く操作することで、プログラムの実行を指示する関数ポインタ “record_func” の上書きが可能になる。このリダイレクトにより、攻撃者は侵害したシステム上で、悪意のコードを実行できるようになる。

影響と緩和策

Zlog は広く採用されているため、CVE-2024-22857 の影響は拡大していく可能性がある。Zlog のバージョン 1.1.0〜1.2.17 を組み込んだアプリケーションは、潜在的に脆弱である。最も効果的な緩和策は、可能な限り早急に Zlog をアップデートすることである。PoC コードが一般に公開され、悪用のリスクが高まる可能性があることを、認識することが極めて重要となる。

ソフトウェア・サプライチェーンのリスクを再認識する

この脆弱性は浮き彫りにするのは、Zlog のような広く使われているオープンソースのコンポーネントの中であっても、ソフトウェア開発のライフサイクル全体を通して、徹底したセキュリティの精査が重要であることだ。

外部ライブラリを統合することは、潜在的なリスクをアプリケーションに導入することになり、ソフトウェア・サプライチェーン攻撃の可能性へとつながっていく。したがって、安全なコーディングの実践と、強固な脆弱性管理プロセスの必要性が、さらに強調される。

行動への呼びかけ

Zlog を使用しているアプリケーションに対して、直ちに脆弱性を評価し、必要なパッチを適用すべきである。依存関係にあるソフトウェアの脆弱性について、常に情報を得ることが、強固なセキュリティ体制を維持するために不可欠である。