Gemcook Tech Blog
🗞️

週刊Cloudflare - 2025/08/17週

に公開

こんにちは、あさひです 🙋‍♂️ 今週の Cloudflare のアップデートをまとめていきます!

この記事の主旨

この記事では、前週に Cloudflare のサービスにどんな変更があったかをざっくりと理解してもらい、サービスに興味を持ってもらうことを目的としています。そのため、変更点を網羅することを優先します。

2025/08/10 ~ 2025/08/16 の変更

Wrangler

4.30.0

マイナーアップデート
  • Vectorize の list-vectors 操作用 Wrangler コマンドを追加
パッチアップデート
  • capnp アップロード時の maxBuffer サイズを増加
  • プレビューエイリアスのブランチ名正規表現を更新し、61 文字制限を撤廃
  • ローカル開発で変更がない場合に作成されたコンテナイメージを古いタグを削除してクリーンアップ
  • コンテナ設定に rollout_active_grace_period オプションを追加し、ロールアウト時のアクティブ状態維持時間を設定可能に
  • コンテナデプロイ時のエラー表示を改善
  • 前回デプロイ失敗やコンテナ削除後の再デプロイが正常に行われるよう修正
  • sourcemaps 有効時の起動プロファイリングを修正
  • 依存関係を更新
    • miniflare@4.20250813.1

4.29.1

パッチアップデート
  • 依存関係を更新
    • miniflare@4.20250813.0

4.29.0

マイナーアップデート
  • WCI のブランチエイリアス生成で長いブランチ名をサポート
  • wrangler deploy--domain フラグを追加されえカスタムドメインへの直接デプロイが可能に
  • wrangler pages deployment list に JSON 出力フラグを追加
パッチアップデート
  • wrangler containers delete の ID 検証を追加し、無効な ID で認証エラーが出る問題を修正
  • Python Workers 有効化時の cf-requirements 言及を削除
  • maybeStartOrUpdateRemoteProxySessionwrangler 設定ファイル内の account_id を考慮するよう修正
    • 以下も同様
      • wrangler dev
      • getPlatformProxy
  • Queue バインディングがある場合、Worker デプロイ時に Queue 設定を更新しないよう変更
  • Wrangler コマンドツリー構造を公開する実験的 API を追加
  • コンテナ作成時に全ティアを許可するオプションを追加
  • Dockerfile のみ変更された場合でもデプロイ時にコンテナイメージを再プッシュ
  • 同一 wrangler ファイル内で同じ name を持つワークフロー定義を防止
  • WRANGLER_LOG=debug 出力にコンテナ API 呼び出しを含めるよう修正
  • async_hooks ポリフィルを削除し、workerd ネイティブ実装を使用するように修正
  • getPlatformProxy() を Miniflare の dev registry 実装に切り替え、dev セッション開始順序を問わず利用可能に
  • 空のエラーメッセージで発生する NonRetryableError がローカルでワークフローのリトライを止めない問題を修正
  • 依存関係を更新
    • miniflare@4.20250803.1
    • @cloudflare/unenv-preset@2.6.1

Workers

MessageChannel/MessagePort が利用可能に

Workers に最小実装の MessageChannel API が追加され、同一 Worker 内のコンポーネント間でメッセージ送受信が可能になりました(別の Worker との通信は不可)

  • 互換性
    • compatibility_date が 2025-08-15 以降でデフォルト有効
    • 明示的に有効化
      • expose_global_message_channel
    • 明示的に無効化
      • no_expose_global_message_channel
  • 制限
    • Transfer List は未対応(ArrayBufferMessagePort の所有権移譲不可)
    • MessagePort はシリアライズ不可(postMessage や RPC 経由で送付不可)
    • 'messageerror' は一部のみ対応(シリアライズ失敗は送信側 postMessage 実行時に例外)
    • 'close'port.close() 時のみ発火(Worker 終了や GC では発火しない)
const { port1, port2 } = new MessageChannel();

port2.onmessage = (event) => {
  console.log("Received message:", event.data);
};

port2.postMessage("Hello from port2!");

https://developers.cloudflare.com/changelog/2025-08-11-messagechannel/

Python Workers ハンドラをエントリポイントクラスへ移行

Python Workers は、これまでのモジュール直下のグローバルハンドラ(on_fetch など)ではなく、WorkerEntrypoint を継承したクラス内にハンドラを実装する方式がデフォルトになりました。旧方式は wrangler ファイルで disable_python_no_global_handlers 互換性フラグを指定することで利用できます。

  • 変更点
    • WorkerEntrypoint を継承したクラスに fetch などのメソッドを実装
    • ドキュメントのテンプレートもクラス方式が前提に
from workers import Response, WorkerEntrypoint

class Default(WorkerEntrypoint):
    async def fetch(self, request, env, ctx):
        return Response("Hello World!")
{
  "compatibility_flags": ["disable_python_no_global_handlers"]
}

https://developers.cloudflare.com/changelog/2025-08-14-new-python-handlers/

ブランチ単位プレビュー URL が長いブランチ名に対応

プレビュー URL 生成時の 63 文字制限を回避し、長いブランチ名でも自動的に切り詰め+ハッシュ付与で安定した URL を作成できるようになりました

  • 変更点
    • 63 文字超のブランチ/Worker 名でもエイリアス生成を自動処理
    • 長いブランチ名は切り詰めた上で 4 文字の一意ハッシュを付与
    • 同じブランチはコミットが変わっても同じハッシュで安定 URL を維持
  • 動作仕様
    • 63 文字以下: <branch-name>-<worker-name>
    • 64 文字以上: <truncated-branch-name>--<hash>-<worker-name>
  • 必要条件
    • Wrangler 4.30.0 以降

https://developers.cloudflare.com/changelog/2025-08-08-support-long-branch-names-preview-aliases/

Logs

IBM Cloud Logs を Logpush のネイティブ宛先としてサポート

Cloudflare Logpush から IBM Cloud Logs へログを直接エクスポートできるようになりました。設定はダッシュボードまたは API から行え、IBM Cloud Logs の HTTP Source アドレスと API Key を指定するだけで開始できます。さらに、イベントのフィルタリングや送信フィールドの選択を通じて、必要なデータのみを安全かつ効率的に配信できます。

  • セットアップ
    • IBM Cloud Logs で HTTP Source を作成し、エンドポイントと API Key を取得
    • Cloudflare ダッシュボード(または Logpush API)で宛先に IBM Cloud Logs を選択し、必要情報を入力
  • 制御・機能
    • 条件に一致するイベントのみを含める/除外するフィルタリング
    • 送信フィールドの選択(全フィールドまたは一部)
    • 配信状態の確認と再試行
  • 主な用途
    • 監視・アラート基盤への統合
    • 既存の SIEM/ログ分析パイプラインとの連携

https://developers.cloudflare.com/changelog/2025-08-13-ibm-cloud-logs-destination/

Access

Access ログが CMB(Customer Metadata Boundary)に対応

Access の監査ログが CMB 設定を尊重するようになりました。アカウントで CMB を有効化している場合、Access ログはその境界内で扱われます。

  • 注意点
    • EU CMB を利用している場合、Access ダッシュボード上ではログが空に見える
    • 必要に応じて Logpush を使ってログを保持する

https://developers.cloudflare.com/changelog/2025-07-01-access-supports-customer-metadata-boundary/

Access for Infrastructure が SFTP に対応

「SSH with Cloudflare Access for Infrastructure」で SFTP が利用可能になりました。Cyberduck など一般的な SFTP クライアントと互換性があります。

  • できること
    • 既存のゼロトラスト制御の下で SFTP 転送を実施
    • GUI/SFTP クライアントからの接続運用を簡素化

https://developers.cloudflare.com/changelog/2025-08-15-sftp/

Security Center

Brand Protection API に一括操作エンドポイントが追加

Brand Protection で、クエリの作成や更新をまとめて実行できる一括(Bulk)エンドポイントが追加されました。大量のブランド名・バリエーションやロゴを一度に登録・同期でき、運用の手間を大幅に削減します。

  • 対応操作
    • 文字列クエリの一括作成・更新・削除
    • ロゴクエリの一括作成・更新・削除
  • ジョブ管理
    • リクエストは非同期ジョブとして受け付け
    • ジョブ ID で進捗・結果の取得が可能(成功・失敗件数の確認やエラー詳細の取得)
  • 入出力
    • JSON 形式のペイロードで複数項目を一括指定
    • バリデーションに失敗した項目はスキップされ、エラー理由が返却
  • 運用上のポイント
    • 初期導入時の大量投入や、日次の差分同期に有効
    • レート制限と最大件数の上限に留意(大きなバッチは分割推奨)

https://developers.cloudflare.com/changelog/2025-08-15-brand-protection-bulk-endpoint/

Load Balancing

AS 番号でトラフィックをステアリング可能に

受信リクエストの AS Number(ASN)を条件に、Load Balancing の Custom Rules でトラフィックをより細かく制御できるようになりました。

  • ユースケース
    • 特定の ISP/企業ネットワークからのアクセスを専用インフラへ誘導
    • コンプライアンス要件に合わせて優先データセンターへ経路指定
    • ネットワーク特性に応じたパフォーマンス最適化
  • 設定方法
    • Load Balancer で Custom Rule を作成
    • Field で「AS Num」を選択し対象の ASN を指定
    • マッチ時の振り分け先(プール/オリジン/リージョンなど)を定義

https://developers.cloudflare.com/changelog/2025-08-15-asnum-support-in-custom-rules/

WAF

WAF ルール更新(2025-08-11)

  • Cisco Identity Services Engine RCE(CVE-2025-20281)
    • Block
  • Ivanti EPMM RCE(CVE-2025-6771)
    • Block
  • Microsoft SharePoint RCE(CVE-2024-38018)
    • Block
  • GeoServer SSRF(CVE-2024-29198)
    • Block
  • CrushFTP RCE(CVE-2025-54309)
    • Block(2 ルール)
  • Wazuh Server RCE(CVE-2025-24016)
    • Block
  • Ingress-Nginx RCE(CVE-2025-1974)
    • Disabled
  • Manager-IO SSRF(CVE-2025-54122)
    • Block
  • Kentico Xperience CMS 認証回避/XSS(CVE-2025-2747/2748)
    • Block
  • Node.js パストラバーサル(CVE-2025-27210)
    • Block
  • WordPress Simple File List RCE(CVE-2025-34085 ほか)
    • Block(一部 Disabled)
  • PaperCut NG/MF RCE(CVE-2023-2533)/SonicWall SMA XSS(CVE-2025-40598)
    • Block

https://developers.cloudflare.com/changelog/2025-08-11-waf-release/

次回予定の WAF 変更(2025-08-18 予定)

  • SonicWall SMA RCE(CVE-2025-32819/32820/32821)
    • Log
  • Ms-Swift Project RCE(CVE-2025-50460)
    • Log
  • Apache Druid RCE(CVE-2023-25194)
    • Log
  • Tenda AC8v4 認証回避(CVE-2025-51087/51088)
    • Log
  • Open WebUI SSRF(CVE-2024-7959)
    • Log
  • SQLi OOB(汎用)
    • Log
  • BentoML SSRF(CVE-2025-54381)
    • Log(複数ルール)
  • Adobe Experience Manager Forms XSS(CVE-2025-54254)
    • Log(複数ルール)

https://developers.cloudflare.com/changelog/scheduled-waf-release/

Gemcook Tech Blog
Gemcook Tech Blog

Discussion