Linux

660,000台以上のRsyncサーバーに、サーバー上でリモートコード実行を可能にする重大なヒープバッファオーバーフローの欠陥を含む、6つの新たな脆弱性が潜在しています。

Rsync はオープンソースのファイル同期およびデータ転送ツールで、インクリメンタルな転送を実行し、データ転送時間と帯域幅の使用量を削減する能力が評価されている。

ローカルのファイルシステム転送、SSHのような安全なプロトコルを介したリモート転送、独自のデーモンを介した直接ファイル同期をサポートしている。

このツールは、Rclone、DeltaCopy、ChronoSyncのようなバックアップシステム、公開ファイル配布リポジトリ、クラウドやサーバー管理業務で広く利用されている。

Rsyncの欠陥は、Google Cloudと独立したセキュリティ研究者によって発見され、リモートシステムの侵害につながる強力な悪用チェーンを作成するために組み合わせることができます。

「最も深刻なCVEでは、攻撃者は公開ミラーのようなrsyncサーバーへの匿名の読み取りアクセスだけで、そのサーバーが稼働しているマシン上で任意のコードを実行することができます」と、Openwallに掲載された速報は述べている。

6つの欠陥の概要は以下の通り:

  • ヒープバッファオーバーフロー (CVE-2024-12084):Rsync デーモンのチェックサム長の不適切な処理に起因する脆弱性で、バッファへの境界外書き込みにつながる。バージョン 3.2.7 から < 3.4.0 に影響し、任意のコード実行を可能にします。対策としては、SHA256 および SHA512 ダイジェストのサポートを無効にする特定のフラグを使用してコンパイルする必要があります。(CVSS スコア: 9.8)
  • 未初期化スタックによる情報漏洩 (CVE-2024-12085):ファイルのチェックサムを比較する際に、初期化されていないスタックデータの漏洩を許す欠陥があります。攻撃者はこの脆弱性を悪用するためにチェックサムの長さを操作することができます。この脆弱性は、3.4.0 以下の全てのバージョンに影響し、 -ftrivial-auto-var-init=zero フラグを付けてコンパイルし、 スタックの内容を初期化することで緩和可能です。(CVSSスコア: 7.5)
  • サーバによる任意のクライアントファイルの漏洩 (CVE-2024-12086):悪意のあるサーバが、ファイル転送中に操作されたチェックサム値を使って、 任意のクライアントファイルをバイト単位で列挙し、再構築できる脆弱性。3.4.0 以下の全てのバージョンが影響を受けます。(CVSS スコア: 6.1)
  • –inc-recursive オプションによるパストラバーサル (CVE-2024-12087):–inc-recursive オプションを使用した場合のシンボリックリンク検証の不備に起因する問題。悪意のあるサーバは、クライアントの意図したディレクトリ外にファイルを書き込むことができます。3.4.0 以下のすべてのバージョンに脆弱性があります。(CVSS スコア: 6.5)
  • –safe-links オプションのバイパス (CVE-2024-12088):Rsync が他のリンクを含むシンボリックリンク先を適切に検証しない場合に発生する不具合です。その結果、パスのトラバーサルや指定ディレクトリ外への任意のファイルの書き込みが発生します。3.4.0 以下の全てのバージョンが影響を受けます。(CVSS スコア: 6.5)
  • シンボリックリンクのレースコンディション (CVE-2024-12747):シンボリックリンクの処理における競合状態に起因する脆弱性です。この脆弱性を悪用されると、機密ファイルへのアクセスや権限の昇格を許してしまう可能性があります。3.4.0 以下の全てのバージョンが影響を受けます。(CVSS スコア:5.6)

CERT Coordination Center (CERT/CC) は、Rsync の欠陥について警告を発し、Red Hat、Arch、Gentoo、UbuntuNixOS、AlmaLinux OS Foundation、Triton Data Center が影響を受けるとしています。

しかし、影響を受ける可能性のあるプロジェクトやベンダーの多くはまだ対応していない。

「最初の2つの脆弱性(ヒープバッファオーバーフローと情報リーク)を組み合わせると、クライアントがRsyncサーバーを実行しているデバイス上で任意のコードを実行することが可能になる」とCERT/CCは警告している。

「クライアントは、公開ミラーのようなサーバーへの匿名読み取りアクセスのみを必要とします。さらに、攻撃者は悪意のあるサーバーを制御し、接続されたクライアントの任意のファイルを読み書きすることができます。SSHキーなどの機密データを抜き出したり、~/.bashrcや~/.poptなどのファイルを上書きして悪意のあるコードを実行したりすることができます。”

RedHatは、CVE-2024-12084に関する独自の速報の中で、実用的な緩和策はなく、この欠陥はRsyncのデフォルト設定で悪用可能であると指摘している。

RedHatは、「rsyncのデフォルトのrsyncdコンフィギュレーションは、匿名ファイル同期を許可しており、この脆弱性の危険性があることに留意してください」と説明している。

「そうでなければ、攻撃者は認証が必要なサーバーに対して有効な認証情報を必要とすることになる。”

すべてのユーザーは、できるだけ早くバージョン3.4.0にアップグレードすることが推奨される。

広範な影響

Shodan の検索によると、Rsync サーバーが公開されている IP アドレスは 660,000 を超えている。

ほとんどのIPアドレスは中国にあり、521,000が暴露されている。

露出した Rsync サーバーの Shodan マップ

これらの露出した Rsync サーバーのうち、306,517 台がデフォルトの TCP ポート 873 で実行されており、21,239 台が SSH トンネリング経由の Rsync で一般的に使用されるポート 8873 でリッスンしています。

Binary Edgeでも多数のRsyncサーバーが公開されているが、その数は424,087と少ない。

公開されているサーバーの数は多いが、攻撃者が有効な認証情報を必要とするか、サーバーが匿名接続用に設定されている必要があるため、新たに公開された脆弱性に対する脆弱性があるかどうかは不明である。

すべての Rsync ユーザーは、バージョン 3.4.0 にアップグレードするか、認証情報を必要とするようにデーモンを設定することを強くお勧めします。

今すぐアップグレードできない場合は、サーバーがリモートからアクセスできないように、境界で TCP ポート 873 をブロックすることもできます。