
Adobe Creative Cloudを利用している一部ユーザーの間で、「hostsファイルが無断で書き換えている」という報告が相次いでいます。RedditやXで情報が共有され、技術的な裏付けも示されていることから、コミュニティでは大きな議論となっています。この記事では、今回の問題で判明した事実と、なぜこれが大きな問題として受け止められているのかを分かりやすくまとめます。
hostsファイルにAdobe独自の行が追加されていた
今回の問題では、複数のユーザーが、以下のようなエントリがシステムのhostsファイルに自動的に追加されていたと報告しています。
## Adobe Creative Cloud WAM - Start ## 166.117.29.222 detect-ccd.creativecloud.adobe.com ## Adobe Creative Cloud WAM - End ##
問題を報告したユーザーは正規ライセンスを利用しており、不正利用対策とは考えにくい状況です。Adobeからこの挙動についての公式説明は現時点でありません。
Webから「CCがインストール済みか」を判定するため
Redditでは、技術的な解析結果も共有されています。この情報によると、AdobeのWebサイト(adobe.com/home)では、JavaScript を使って以下のURLへのアクセスを試みているとのこと。
- https://detect-ccd.creativecloud.adobe.com/cc.png
目的は読み込みに成功したかどうかで、Creative Cloudがインストールされているかどうかを判定するためで、読み込み成功ならばインストール済み、読み込み失敗ならば未インストールということになります。
Redditには解析済みのJavaScriptコードも掲載されています。
{
key: "detectCCDForLNARestrictedBrowsers",
value: function detectCCDForLNARestrictedBrowsers(options) {
const wamImageUrl = options?.wamImageUrl?.trim();
const baseUrl = (wamImageUrl && wamImageUrl.length > 0)
? wamImageUrl
: "https://detect-ccd.creativecloud.adobe.com/cc.png";
// Add cache-busting query parameter
const url = baseUrl.includes("?")
? `${baseUrl}&q=${Date.now()}`
: `${baseUrl}?q=${Date.now()}`;
return new Promise((resolve) => {
let timeoutId;
let settled = false;
// Ensure resolve is only called once
const finish = (result) => {
if (settled) return;
settled = true;
if (timeoutId) {
clearTimeout(timeoutId);
timeoutId = undefined;
}
resolve(result);
};
// Timeout after 10 seconds → treat as failure
timeoutId = setTimeout(() => finish(false), 10000);
fetch(url, {
method: "GET",
headers: {
"x-adobe-client": "wam-client"
}
})
.then((response) => {
finish(response.ok);
})
.catch(() => {
finish(false);
});
});
}
}
問題点は?
今回の挙動が大きな問題として受け止められている理由は、ユーザーの同意がないままシステムの根幹であるhostsファイルを書き換えていた点にあります。hostsファイルはネットワーク動作に直接影響する重要な設定ファイルで、通常は管理者が明示的に編集するものです。ここにアプリケーションが勝手に手を加える行為は、マルウェアと同じ手法と見なされても仕方がありません。
Adobeが追加したエントリによって既存の設定が上書きされたり、意図しない動作が発生する可能性も指摘されています
加えて、こうした変更が行われているにもかかわらず、Adobeからは現時点で公式な説明が一切出ていないことも不信感を招いています。ユーザーはいつ、どのバージョンのアップデートで、どのような目的で変更が行われたのかを知る術がなく、透明性の欠如が問題をさらに深刻化させています。
