複数のセキュリティ問題に対応
このマイナーリリースでは、コアの20のバグの修正とブロックエディターの10のバグの修正が行われています。
セキュリティ対応を含むリリースのため、ブランチ 6.2をお使いの場合は直ぐにアップデートをお勧めします。また、セキュリティ対応は、ブランチ6.1は6.1.2へなど、ブランチ4.1以降にも適用されています。
23/05/20 : 6.2.1➡ 6.2.2 , 6.1.2 ➡ 6.1.3
セキュリティ問題に対応し、1個のバグを修正しました。
#58333:WordPress 6.2.1 Shortcodes some shortcode no longer works!
ショートコード: 一部のショートコードが機能しないバグ対応
複数のセキュリティ問題に対応
- ユーザー生成データ内のショートコードを解析するテーマをブロックします。
- 添付ファイルのサムネイルを更新する際の CSRF の問題に対処。 CSRF:クロスサイトリクエストフォージェリ (cross-site request forgeries)は、 Webアプリケーションの脆弱性の一つ、もしくはそれを利用した攻撃。 またはXSRF:リクエスト強要、セッションライディング (session riding) とも呼ばれます。
- オープン埋め込み自動検出を介して XSS を許可する欠陥に対処。
- 権限の低いユーザーのブロック属性での KSES サニタイズをバイパスしてしまう問題に対処。 (サニタイジングとはHTMLとして意味のある文字を別の文字列に置き換える処理のことです。)
メンテナンス
コアのバグの修正
# | コアのバグの修正 | |
---|---|---|
00 | #58333 | 一部のショートコードが機能しない問題に対応(bug)。Ver.6.2.2
Ver.6.2.1でのリグレッション「後戻り」に対応し、 6.2.1 で対処した脆弱性にさらにパッチを当てる迅速対応リリース 「リグレッション」≒「デグレード」のこと 「直しははずのバグが復活していたり、前はなかったはずのバグがあったり、 実装したはずの機能がなくなっている状態のこと」:単にデグレと言っていたもの(リリース管理の不備などが原因となる) |
01 | #58064 | comment_time 関数での get_comment_time 関数の呼び出しは正しくない問題。 コンポーネント:(bug) |
02 | #57903 | 非コア ブロックが RTL スタイルシートを適切にロードしない。 ブロックエディターのバグ |
03 | #58274 | WordPress 6.2.1 用の @wordpress パッケージを更新する。 ブロックエディターのバグ |
04 | #57994 | WP 6.2.1 のコーディング標準の修正。ブロックエディターのバグ |
05 | #58007 | HTML API: タグクローザーで無効なタグ名によって作成されたコメントをサポートする。 ブロックエディターのバグ |
06 | #58028 | WP_HTML_Tag_Processor: 開発者リソース内の参照が壊れる問題。 ブロックエディターのバグ |
07 | #58146 | HTML API: 大文字と小文字の違いに対して属性の更新が 1 回だけ行われる。 ブロックエディターのバグ |
08 | #58160 | HTML API: 以前の場所を検索するときに更新が見落とされるケースを修正。 ブロックエディターのバグ |
09 | #58179 | HTML API: 内部解析ポインターのシフトを蓄積する。ブロックエディターのバグ |
10 | #58250 | HTML API: Gutenberg リンターを渡すようにコーディング スタイルを調整する。 ブロックエディターのバグ |
# | コアの20のバグの修正 | |
---|---|---|
11 | #58254 | HTML API: 開発者リソースを破壊する docblock の順序付けの問題を修正。 ブロックエディターのバグ |
12 | #57387 | ページの小見出しで aligncenter クラスを使用する。ブロックエディターのバグ |
13 | #58248 | 6.2.1の「Help/About」ページ更新について修正 |
14 | #58051 | アップロード後に添付ファイルのカスタムフィールドが表示されない問題。ブロックエディターのバグ |
15 | #57918 | クラシックテーマの外観メニューページの「非推奨」問題。ブロックエディターのバグ |
16 | #58096 | 「テーマが有効」の色が正しくありません。と管理者から通知される。ブロックエディターのバグ |
17 | #57996 | $search_columns の型を array から string[] に変更。Query (強化)。 ブロックエディターのバグ |
18 | #58069 | _wp_normalize_relative_css_links() のパフォーマンスを 2 倍以上向上させることができます。 Script Loader。ブロックエディターのバグ |
19 | #58203 | jQueryのバージョンが一致しません。Script Loader ブロックエディターのバグ |
20 | #57937 | SECURITY.md ファイルを HackerOne ポリシーと同期する。ブロックエディターのバグ |
ブロックエディターのバグの修正
GH# | GitHubからブロック エディターの問題が修正されました。 | |
---|---|---|
01 | GH 49135 | i18n: CSS 位置プロパティに関連するラベルにコンテキストを追加します |
02 | GH 49054 | コメント: 「sprintf には複数のパラメータが必要です」エラーを修正 |
03 | GH 49861 | マルチサイト インストールでのサイト エディターの読み込みを修正 |
04 | GH 49881 | 状況(場合)によってはクイックインサーターが画面外になる問題を修正 |
05 | GH 49685 | サイトエディター: サイトタイトルを適切にデコードします。 |
06 | GH 48210 | Firefox: 入力ルールを修正 (React の非同期状態の問題) |
07 | GH 49703 | 親レイアウトが制限されている場合にのみ配置情報を表示します |
08 | GH 49450 | [インサーター]: モバイルのパターンタブの onHover エラーを修正 |
09 | GH 49364 | 新しいテンプレートまたはテンプレート パーツを作成した後のサイト エディターのリダイレクトを修正 |
10 | GH 49675 | サイトエディター: 「ダッシュボードに戻る」リンクのラベルを修正 |
セキュリティ問題
CSRF
ウェブサイトの中には、サービスの提供に際しログイン機能を設けているものがあります。
ここで、ログインした利用者からのリクエストについて、その利用者が意図したリクエストであるかどうかを識別する仕組みを持たないウェブサイトは、外部サイトを経由した悪意のあるリクエストを受け入れてしまう場合があります。
このようなウェブサイトにログインした利用者は、悪意のある人が用意した罠により、利用者が予期しない処理を実行させられてしまう可能性があります。
このような問題を「CSRF(Cross-Site Request Forgeries/クロスサイト・リクエスト・フォージェリ)の脆弱性」と呼び、これを悪用した攻撃を、「CSRF攻撃」と呼びます。
発生しうる脅威
CSRF攻撃により、発生しうる脅威は次のとおりです。CSRF:クロスサイト・リクエスト・フォージェリ 出典:IPA 情報処理推進機構
- ログイン後の利用者のみが利用可能なサービスの悪用
- 不正な送金、利用者が意図しない商品購入、利用者が意図しない退会処理 等
- ログイン後の利用者のみが編集可能な情報の改ざん、新規登録
- 各種設定の不正な変更(管理者画面、パスワード等)、掲示板への不適切な書き込み 等
XSS
ウェブアプリケーションの中には、検索のキーワードの表示画面や個人情報登録時の確認画面、掲示板、ウェブのログ統計画面等、利用者からの入力内容やHTTPヘッダの情報を処理し、ウェブページとして出力するものがあります。
ここで、ウェブページへの出力処理に問題がある場合、そのウェブページにスクリプト等を埋め込まれてしまいます。
この問題を「クロスサイト・スクリプティングの脆弱性」と呼び、この問題を悪用した攻撃手法を、「クロスサイト・スクリプティング攻撃」と呼びます。
クロスサイト・スクリプティング攻撃の影響は、ウェブサイト自体に対してではなく、そのウェブサイトのページを閲覧している利用者に及びます。発生しうる脅威
クロスサイト・スクリプティング攻撃により、発生しうる脅威は次のとおりです。xss: クロスサイトスクリプティング 出典:IPA 情報処理推進機構
- 本物サイト上に偽のページが表示される
- 偽情報の流布による混乱
- フィッシング詐欺による重要情報の漏えい 等
- ブラウザが保存しているCookieを取得される
- Cookie にセッションIDが格納されている場合、さらに利用者へのなりすましにつながる
- Cookie に個人情報等が格納されている場合、その情報が漏えいする
- 任意のCookieをブラウザに保存させられる
- セッションIDが利用者に送り込まれ、「セッションIDの固定化」 攻撃に悪用される
wp_kses()
データを無害化 する
サニタイジング(エスケープ) ➡ 無害化 (サニタイズ) する
サニタイジングとはHTMLとして意味のある文字を別の文字列に置き換える処理のことです。
例えば、
HTMLでは「<」や「>」の文字列がタグの一部としてブラウザに認識されます。
これらを「<」や「>」といった文字列に置き換え、タグとしてではなく「<」や「>」とブラウザに表示されるだけの、ただ文字列にする処理がサニタイジングです。
(私のサイトでも、HTMLをCodeとして、そのまま表示させたい目的の時にサニタイジングしています。)
もしタグが別の文字に置き換えられないと、Webページ上で不正なscriptが動作してしまい、思わぬ被害が発生する可能性があります。
wp_kses() は指定した特定の HTML タグ以外を除去します。
KSES は悪意あるスクリプトを除去します。
日本語Codex
すべての信頼できない HTML (投稿文、コメント文など) は wp_kses() を通すべきです。
–日本語Codex データ検証より抜粋–
KSES は「KSES Strips Evil Scripts」の略です(Function Reference/wp kses)
Kは、(意味を持ちません(意味は明確にされていません)。)単に再帰的な頭字語(コンピュータプログラミングでよく使用される自己参照です)です。
「Strips Evil Scripts」:「邪悪なスクリプトを削除します」
コメント