MTAppjQuery v3.7.5 リリース - ログインしていない人やほかのサイトの利用者に管理画面の情報が見えていた問題を修正
本日、Movable Type の管理画面をカスタマイズするプラグイン MTAppjQuery の最新版 v3.7.5 をリリースいたしました。
今回のリリースは、セキュリティの修正を含むメンテナンスリリースです。MTAppjQuery をお使いのすべてのお客様に、アップデートをおすすめいたします。
セキュリティの修正
ログインしていない人に、記事やサイトなどの情報が見えていた問題を修正
MTAppjQuery は、管理画面の JavaScript から使う情報を mtappVars としてページに出力しています。この出力が、ログインしていない人の画面(サインイン画面など)にも行われていました。管理画面の URL に _type・id・blog_id などを付けて開くと、ログインしていなくても次の情報をページのソースから読めていました。
- URL で指定した記事・ウェブページ・コンテンツデータ・テンプレート・システム設定などの内容(v2.0.0 から)
- URL で指定したサイトの情報。サイトのカスタムフィールドや、設定している場合は Google API キーなどを含みます(v2.0.0 から)
- 「コンテンツタイプを利用」を有効にしている場合、全サイトのコンテンツタイプの定義(v2.7.3 から)
- 表示ラベル機能を使っている場合、コンテンツフィールドの表示ラベル(v3.7.0 から)
v3.7.5 では、ログインしていない人には、これらの情報を出力しないようにしました。
権限のないサイトの情報や、ほかのユーザーの情報が見えていた問題を修正
ログインしている人でも、URL の _type と id を指定すると、権限のないサイトの記事・コンテンツデータ・テンプレートなどや、システム設定、ほかのプラグインの設定を読めていました(v2.0.0 から)。また、_type=commenter を指定すると、ほかのユーザーの情報(パスワードのハッシュを含む)も読めていました。
v3.7.5 では、出力する種類を、記事・ウェブページ・カテゴリ・フォルダ・コンテンツデータ・コンテンツタイプ・テンプレート・アセット・ブログ・ウェブサイトに限りました。そのうえで、そのサイトに対する権限を Movable Type 本体と同じ判定で確かめてから出力します。コンテンツタイプの定義やサイトの一覧も、権限のあるものだけを出力します。
入力したパスワードがページに残る問題を修正
mtappVars.params には、URL やフォームで送られた値がそのまま入っていました。そのため、ログインに失敗して再表示されたサインイン画面などで、入力したパスワードがページの HTML に入っていました(v2.5.0 から)。名前に pass・secret・token などを含む値は、出力しないようにしました。
秘匿の値を出力しないようにした
サイトの情報からは、更新キー・Google API キー・リモート認証トークン・サイトパス・アーカイブパスを出力しないようにしました。ユーザーの情報からは、パスワードや API パスワードなどを出力しないようにしました。
これらの値や、許可した種類以外の mtappVars を user.js などで使っている場合は、v3.7.5 で値が取れなくなります。mtappVars.params.magic_token も出力しなくなります。お手数ですが、アップデートの前にご確認ください。
不具合の修正
multiField(Vue 版)の multipurpose で、table が最初から 2 行入る不具合を修正
useVueJs: true を指定した multiField で、multipurpose に置いた table を挿入すると、最初から 2 行入る不具合を修正しました(v2.8.3 から)。定義の data に行を書いている場合は、その行が初期の行になります。あわせて、chunk の中の table で行数の上限(maxCount)が効かない不具合、addClass に文字列を指定すると表示されない不具合、table の「行を追加」ボタンのアイコンが表示されない不具合を修正しました。
そのほかの修正
mtapp.duplicate()で、権限のないサイトを複製先に選ぶと、読み込み中の表示のまま止まる不具合を修正しました。複製先の情報が無いときは、メッセージを出して止めます。- デバッグモードの「このページに適用する条件文」が、ユーザーの編集画面などで表示されない不具合を修正しました。これらの画面では
mtappVars.idで判定する条件文を出します。
ダウンロード
- 製品をご購入いただいているお客様:bit part products サイトの製品ダウンロードより最新版をダウンロードいただけます。
アップデート手順
ダウンロードいただいた zip ファイルを展開し、plugins/MTAppjQuery および mt-static/plugins/MTAppjQuery を Movable Type のインストール先の同名ディレクトリへ上書きアップロードしてください。
今後ともよろしくお願いいたします。