#セキュリティ
12 件
Base64:暗号でも圧縮でもない
Base64 は 3 バイトを 4 文字の可読文字に変換し、容量を三分の一増やします。解くのは「バイナリをテキスト経路に通す」ことで、秘匿ではありません。
冪等キー:再試行を安全にする一回の書き込み
ネットワークのタイムアウトはサーバが何もしなかった証拠ではありません。冪等キーで同一リクエストを識別し、再実行せず最初の結果を返します。
JSON 正規化:同じオブジェクトが二つのハッシュになる理由
キーの順序、数値の表記、エスケープの仕方でバイト列は変わります。ハッシュを安定させるには、JSON.stringify に期待せずシリアライズ層で規則を固定します。
壊滅的なバックトラック:正規表現が CPU を埋める理由
入れ子の量指定子は試行回数を指数関数的に増やします。(a+)+b は長い非一致入力一つでプロセスを止められます。入れ子を外すか、制限時間を設けます。
iframe sandbox:能力を絞るもので、強化するものではない
sandbox 属性は既定で全能力を奪い、allow-* で一つずつ戻します。方向を逆に覚えがちで、script が動かないのは既定値だからです。
Unicode 正規化:見た目が同じ二つの文字列が等しくない理由
é は一つのコードポイントにも、基底文字と結合記号にもなります。比較・保存・索引の前に NFC へ揃えないと、重複やログイン失敗が静かに発生します。
URL 符号化:空白・プラス・二重符号化の罠
クエリでは + が空白、パスでは + はプラスです。同じ文字でも位置によって規則が異なり、二度符号化すると一致しない値が静かに生まれます。
SharePoint のデシリアライズ RCE:CVE-2026-45659
通常の Site Member アカウントだけで SharePoint サーバー上の任意コード実行が可能です。マイクロソフトは悪用可能性を低と評価しましたが、CISA は KEV に追加し、3 日での対応を求めました。
n8n の未認証 RCE(Ni8mare):CVE-2026-21858
フォームノードが Content-Type の検証を飛ばすため、application/json のリクエスト一つで任意のファイルを読ませられます。設定内の鍵から管理者 JWT を偽造し、サンドボックス回避と組み合わせて RCE に至ります。
Cisco FMC の未認証 Java デシリアライズ RCE:CVE-2026-20131
CVSS 10.0、認証不要、root 権限でのコード実行。しかもランサムウェア集団が 36 日間ゼロデイとして使っていました。ファイアウォール管理の中枢が破られれば、すべてのポリシーとログも渡すことになります。
Next.js のインクリメンタルキャッシュ経由のパストラバーサル RCE:CVE-2026-75604
エスケープされていないバックスラッシュ一つが、Windows 上でキャッシュを任意ファイルの読み書きに変えます。漏えいした Server Action の暗号鍵でリクエストを偽造し、React Flight のプロパティ連鎖から Function に到達します。
React Router のプロトタイプ汚染から RCE へ:CVE-2026-42211
turbo-stream v2 は TYPE_ERROR の復元でコンストラクタを動的に呼び出しながら、その出所を検証していません。アプリにプロトタイプ汚染が一つあればこの経路が Function に届き、中度の欠陥二つが RCE になります。
