<?xml version="1.0" encoding="UTF-8" standalone="yes"?><oembed><version><![CDATA[1.0]]></version><provider_name><![CDATA[iDeasilo]]></provider_name><provider_url><![CDATA[https://ideasilo.wordpress.com]]></provider_url><author_name><![CDATA[Takayuki Miyoshi]]></author_name><author_url><![CDATA[https://ideasilo.wordpress.com/author/miyoshita/]]></author_url><title><![CDATA[プロフェッショナルの仕事]]></title><type><![CDATA[link]]></type><html><![CDATA[
<p>先日、何年か振りの脆弱性報告をもらって Contact Form 7 の<a href="https://contactform7.com/2020/12/17/contact-form-7-532/">セキュリティリリース</a>を出したんですけど、予想外に大きな反応があって WordPress Tavern に<a href="https://wptavern.com/contact-form-7-version-5-3-2-patches-critical-vulnerability-immediate-update-recommended">取り上げられた</a>りもしました。</p>



<p>さまざまなメディアがあれこれ書いているのを読んでいて際立っていたのが Wordfence のこちらの記事です。</p>



<ul><li><a href="https://www.wordfence.com/blog/2020/12/a-challenging-exploit-the-contact-form-7-file-upload-vulnerability/">A Challenging Exploit: The Contact Form 7 File Upload Vulnerability</a></li></ul>



<p>特に感銘を受けた部分を抜き出して日本語訳してみます。</p>



<div class="wp-container-6138142ee436c wp-block-group"><div class="wp-block-group__inner-container">
<blockquote class="wp-block-quote"><p>Contact Form 7 には数々の被害軽減策が設けられているのでこの脆弱性を利用しても不正利用を完遂するのは難しいだろう:</p><p>&#8211; アップロードされたファイルはランダムな名前が振られたフォルダに一時的に格納されて、メールに添付したらすぐ削除される。つまり攻撃者はまずランダムなフォルダ名を判定する必要があり(ディレクトリインデックスが有効になってるとかなければ無理)、しかもそれをディレクトリとアップロードファイルが削除されるまでの一瞬のうちにやり遂げないといけない。</p><p>&#8211; Contact Form 7 は .htaccess ファイルを使ってアップロードされたファイルへの直接アクセスができないようにしている(これができないとコードの実行もできない)。これは Apache のサイトでしか機能しない対策ではあるが、サイトに別の脆弱性があってそこに付け込まれるとかない限り、アップロードファイルの実行は阻止されるだろう。</p><p>&#8211; ファイル名は許可された拡張子のものでなければならない。二重拡張子を持った任意のアップロードファイルに PHP ハンドラーを割り当てるような Apache 設定というのは通常はみられない。</p></blockquote>



<p>なぜこれに感銘を受けたかというと、こんなことはマニュアルのどこにも載ってないんですよ。この記者と三好の間に事前の nemawashi があったとかそんなこともありません。推測ですがこの記者は Contact Form 7 のコードを独自に調査してファイル処理のフローを確認してこれを書いたとしか考えられません。しかも、僕がリリースノートを書いて寝て起きたらこの記事が出回ってたんですよ。半日も経ってない。</p>
</div></div>



<p>それにひきかえ、なんて言って別の誰かをこき下ろそうとするのはよくない癖だよなとは思いつつも書いてしまうのですが、先日日本の大手ホスティングサービスの広報記事で Contact Form 7 が名指しされるということがあったんですが、</p>



<ul><li><a href="https://www.sakura.ad.jp/information/announcements/2020/12/08/1968205707/">お問合せフォームを悪用する攻撃増加に関する注意喚起 | さくらインターネット</a></li><li><a href="https://www.xserver.ne.jp/news_detail.php?view_id=7118">【注意喚起】WordPressプラグイン「Contact Form 7」などのメールフォーム（問い合わせフォーム）の仕様を悪用したスパムメール配信行為への注意喚起、ならびに対策のお願い &#8211; 2020/12/15 | レンタルサーバー【エックスサーバー】</a></li></ul>



<p>Contact Form 7 に問題があるみたいに聞こえてなんか感じ悪い、というのはとりあえず脇に置くとして(てゆーか海外のホスティング会社からこんな扱い受けたことないぞ。やったら訴えられたりするんじゃないの)、まずさくらインターネットさん、名前出すんだったら公式サイトのマニュアルにリンクぐらいしましょうよ。意味ないじゃないですか。エックスサーバーさん、リンクしてくれてありがとうございます。でも最重要のセキュリティ設定である Akismet が抜けている一方でセキュリティ設定でもなんでもない承諾確認チェックボックスが取り上げられているのはどういうわけですか。一体何を参考にこれ書いたんですか。</p>



<p>かたや、自らコードを精査し、公正性を疎かにせず、過度の不安や楽観を招かないよう表現を選んで記事を書いた Wordfence。かたや、適当にググって拾ってきた(であろう)情報を元に無責任な記事を書いて流した日本のホスティング会社。どちらもそれでメシ食ってるプロフェッショナルなんでしょうけど、仕事への取り組み方がこうも違うものかと愕然とするのです。</p>
]]></html></oembed>