One Click, System Exposed: cpio (CVE-2023-7216) Threatens Unix Security
2024/02/06 SecurityOnline — 主に Unix ライクなオペレーティング・システムで見られる “cpio” コマンドライン・ユーティリティは、アーカイブ・ファイル内のファイルをパッケージ化/解凍する機能を備えている。汎用性が高く、複数のアーカイブ形式をサポートする “cpio” は、システム管理者やユーザーにとって強力なツールだ。しかし、この cpio に、システム・セキュリティの根幹に影響を及ぼしかねない脆弱性が発見された。
この脆弱性 CVE-2023-7216 (CVSS:8.8) の悪用に成功した、リモートの認証されていない攻撃者は、ユーザーに特別に細工されたアーカイブを取り出させることにより、システムに侵入する可能性がある。
この脆弱性 CVE-2023-7216 は、抽出処理中のシンボリック・リンク (symlinks) のユーティリティの処理に起因する。 “cpio“ のデフォルトの設定では、最終的な保存先を確認することなく、アーカイブ内の保存されたシンボリック・リンクをたどってしまう。そのため、攻撃者によりアーカイブの作成が可能になる。そのアーカイブが抽出されると、想定された範囲を超えたディレクトリに、混乱が生じることになる。
想像してほしいのは、悪意を持って作られたアーカイブが、ディレクトリを横断して “~/.ssh“、“~/.bashrc”、“~/.config/autostart/“ などの、直接にファイルを植え付けるように設計された、シンボリック・リンクを含んでいる状況である。このような行為には、ユーザーの知らないうちに実行されて、事実上はシステムに鍵を渡してしまうようなコマンドを埋め込むという、善意的なものから悪意的なものまで、様々な可能性がある。
この脆弱性の PoC の概要が、セキュリティ研究者の Febin Mon Saji により公開された。彼は、この脆弱性について、簡単に悪用が可能で、深刻度の高いものであると述べている。攻撃者は、テスト・ディレクトリ内にシンボリック・リンクを作成して、”sed” を使用してアーカイブを操作することで、”cpio” アーカイブを作成する。
熟練した攻撃者の手にかかれば、この脆弱性は、不正アクセス/権限の昇格/被害者のシステム上でのリモート・コマンド実行などに利用される可能性がある。この脆弱性の影響は、個人ユーザーだけでなく、”cpio” をコンポーネントとして組み込んでいるソフトウェアのエコシステムにまで及ぶ可能性があるため、脅威の状況が複雑化している。
この発見を受けて、サイバーセキュリティ・コミュニティは、対策を講じなければならない。また、”cpio” を使用しているソフトウェア開発者たちに推奨されるのは、不注意により自分たちのアプリケーションが、この脆弱性の影響を受けないように、ユーティリティの使用方法を見直すことだ。
cpio について調べてみたら IBM が、「cpio ユーティリティーは、従来の UNIX システムと完全な 互換性を持ってサポートされる。ただし、pax ユーティリティーを、その代わりに 使用することをお勧めする。理由は、pax が多くの機能を提供し、POSIX.2 IEEE 標準 1003.2-1992 が定義したような、移植可能 UNIX アプリケーション用の 標準と考えられるからだ」と、解説してくれていました。よろしければ、Qiita の「cpio の使い方」も、ご参照ください。

You must be logged in to post a comment.