Pay with a tweetに任意ファイル削除の脆弱性、修正版なし
WordPressのプラグインPay with a tweet 1.0.5以下に、購読者権限のアカウントでサーバー上のファイルを消せる脆弱性があります。修正版は見つかっておらず、使っているサイトはプラグインを停止して削除し、購読者アカウントを点検してください。
急ぎ度: 早めに
CVSS v3は9.6で、低い権限のアカウントから悪用でき、修正版も見つかっていないため、該当サイトはプラグインの停止を早めに進める必要があります。
関係があるか
WordPressにPay with a tweetを入れているサイトが対象です。ユーザー登録を受け付けているサイトや、購読者など低い権限のアカウントを発行しているサイトは、とくに影響を受けやすい環境です。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| Pay with a tweet(WordPressプラグイン、スラッグは pay-with-a-tweet) | 1.0.5以下 | なし。脆弱性情報サービスWPScanでは「No known fix」と表示されています |
確かめ方
- 1WordPressの管理画面でプラグイン一覧を開き、Pay with a tweetが入っているか、有効か無効か、版がいくつかを確認します。無効でもプラグインのファイルが残っていれば、削除の対象に含めてください。
- 2WP-CLIを使える環境では、
wp plugin get pay-with-a-tweet --field=versionで版を確認できます。1.0.5以下なら影響を受けます。 - 3ユーザー登録を一般に開放しているか、購読者ロールのアカウントがどれだけあるかを、ユーザー一覧で確認します。複数のサイトを預かっている場合は、サイトごとに調べます。
何が起きたか
Pay with a tweetの1.0.5以下には、サーバー上の任意のファイルを削除できる脆弱性(CVE-2026-115734)があります。削除されるファイルによっては、サイト全体の乗っ取りにつながる可能性があります。
原因は2つあります。ファイルを消す前に、対象のパスが正しいかを確認していないこと。そして、関連する管理画面へのアクセスを制限していないことです。CWEはCWE-73で、外部から指定できるファイル名やパスの扱いに問題があるときの分類です。CVSS v3は9.6、深刻度はcriticalです。
WPScanが2026年11月9日に公開し、CVEの記録は11月11日に公開されました。発見と報告はNaoki Kawahigashi氏です。
攻撃の流れ
-
1
低権限で入る
購読者など低い権限のアカウントでサイトにログインします。
-
2
管理画面に到達
プラグインの管理画面の機能に、権限の確認なしで届きます。
-
3
削除対象を指定
ボタンのダウンロード用パスに、サーバー上の任意のファイルを指します。
-
4
ファイルが消える
パスが検証されないまま、そのファイルが削除されます。
-
5
サイトに被害
サイトの停止や、乗っ取りに至る可能性があります。
どう悪用されるか
悪用にはログインが必要ですが、求められる権限は購読者(Subscriber)ほどの低さです。ネットワーク経由で、特別な条件は要らず、管理者などほかの利用者の操作も必要ありません。CVSSのベクターも、認証あり(権限は低)、利用者の操作なし、影響範囲の変更ありを示しています。
被害は、サーバー上の任意のファイルの削除です。情報が読み出されるわけではなく、改ざんと停止が中心です。CVE記録は、結果としてサイト全体が乗っ取られうると説明しています。
ユーザー登録を開放しているサイトでは、実質的に外部の人が購読者アカウントを作れるため、最初の関門が低くなります。筆者はそうしたサイトを優先して見るべきだと考えています。
今すぐやること
-
1
入っているかと版を確認する
サイトごとに、Pay with a tweetの有無と版を調べます。無効化されていても、ファイルが残っていれば確認の対象です。
wp plugin get pay-with-a-tweet --field=version -
2
プラグインを停止し、削除する
修正版が見つかっていないため、更新では解決できません。1.0.5以下が入っていれば、プラグインを無効化したうえで削除します。ボタンが使えなくなるため、代わりの手段を検討してください。
-
3
購読者アカウントを点検する
心当たりのない購読者アカウントがないかを調べ、不要なものは削除します。ユーザー登録が不要なサイトなら、プラグインを片づけるまで登録を閉じておくと、悪用できる人を減らせます。
-
4
ファイルの欠けと不審なアクセスを調べる
テーマやプラグイン、設定に関わるファイルが消えていないかを確認します。Webサーバーのアクセスログで、購読者アカウントからのプラグイン関連の管理画面へのアクセスも見ます。不審な形跡があれば、バックアップとの差分から復旧します。
-
5
開発元の告知を確認する
WordPressのプラグインページとWPScanの該当ページで、修正版が出たかを定期的に確認します。修正版が出ても、公開直後は検証環境で動作を確かめてから本番に当てます。
修正版がないあいだのつなぎ
プラグインの無効化と削除が、いまのところ最も確実なつなぎです。どうしても使い続ける場合は、ユーザー登録を閉じ、購読者アカウントを必要最小限にして、悪用できる人を減らします。ただし、すでにあるアカウントは残るため、根本的な回避にはなりません。
背景
Pay with a tweetは、CVE記録の題にある「Button Download Path」が示すとおり、ボタンのダウンロード用パスを扱う機能を持つWordPressのプラグインです。問題が出たのは、このパスを使ってファイルを削除する処理でした。
WPScanの関連一覧には、WebTotem BackupsやFrontend File Manager Pluginなど、購読者権限から任意ファイルを削除できるプラグインの脆弱性がほかにも並んでいます。管理画面の機能に権限の確認がなく、低い権限でも呼び出せるという型は、プラグインごとに個別に作り込まれるため、WordPress本体では防げません。
よくある質問
Q.WordPress本体を最新にすれば防げますか。
Q.無効化するだけで済ませてよいですか。
まだ分かっていないこと
- 開発元が修正版を出す予定があるか、現在の対応状況はどうかは、示されていません。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| パッケージ | 影響を受ける版 → 修正版 | |
|---|---|---|
| CVE の記録Pay with a tweet |
1.0.5 以前→ 記載なし |
記載なし |
この記録には修正版の版が載っていません。修正版の有無と版は、本文か参照URLのベンダーの勧告で確かめてください。
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
The Pay with a tweet WordPress plugin through 1.0.5 does not validate a file path before deleting it, nor does it restrict access to the relevant administration screens, allowing users with a role as low as Subscriber to delete arbitrary files on the server, which can lead to a full site compromise.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- web contact@wpscan.com
- web nvd.nist.gov
- web wpscan.com
- web github.com