rsyncシンボリックリンクの脆弱性はどのように機能しますか?

rsyncシンボリックリンクの脆弱性はどのように機能しますか?

munge symlinks

[...]

rsyncがシンボリックリンクを無効にする方法は、各シンボリックリンクの前に文字列 "/rsyncd-munged/"を追加することです。これにより、ディレクトリが存在しない限りリンクは使用されません。このパラメータが有効な場合、パスがディレクトリまたはディレクトリへのシンボリックリンクの場合、rsyncは実行を拒否します。

[...]

書き込み可能なモジュールでこのパラメータが無効になっていて、「Chrootを使用」が無効になっている場合(または内部chrootパスが「/」でない場合)、受信シンボリックリンクは先行スラッシュを削除して「..」パスを削除するように変更されます。 。 rsyncは、シンボリックリンクがモジュール階層の要素をエスケープできるようにすると思います。ただし、この問題を解決するにはいくつかのトリッキーな方法があるため、このパラメータの組み合わせを選択した場合は、ユーザーを信頼するのが最善です。

munge symlinks = no、ここで説明されている保護を取り巻くトリッキーな方法は何ですか?つまり、モジュールパスをエスケープしてその外部のファイルを読み書きしますか?

編集:「シンボリックリンクの削除」で修正された脆弱性は次のとおりです。CVE-2007-6199。 3.0.0pre6より前のrsyncは、chrootなしで書き込み可能なrsyncデーモンを実行すると、リモート攻撃者が制限付きファイルにアクセスできるようにします。未知のベクトルを通してこれにより、rsync はモジュール層の外側を指すシンボリックリンクを生成します。 」

関連情報