🍉

CVE-2025-55182(Reactの脆弱性)を修正したDify 1.10.1-fix1リリース

に公開

はじめに

プログデンスの圓佛です。CVEスコアが最大の「10」であるReactの脆弱性が報告されています。

DifyもReactを利用している為、影響を受けますが早速、問題修正したv1.10.1-fix.1がリリースされています。リリースノートには以下の記載があります。

Security/deps: backend bumps pyarrow 17.0.0, werkzeug 3.1.4, urllib3 2.5.0 in api/uv.lock; frontend bumps React 19.2.1 (addresses CVE-2025-55182) and Next.js 15.5.7 in web/package.json + web/pnpm-lock.yaml.

この記事で分かること

  • 深刻なReactの脆弱性が報告されている(CVE-2025-55182)
  • Difyは既に修正済みバージョンがリリースされている
  • しかし、DifyのWebUI上では「最新バージョンがリリースされている」という通知は表示されない
  • 作業後のバージョン確認はCLIから実施する

検証環境

今回の検証ではDifyのオンプレミス版(コンテナ版)を利用しています。

対象 バージョン
Dify 1.10.1-fix.1

影響を受けるReactのバージョン

CVE-2025-55182の影響を受けるReactのバージョンは「19.2.0以下」とされています。CVE-2025-55182には以下の記載があります。

affected from 19.0.0 through 19.2.0

ReactのブログであるCritical Security Vulnerability in React Server Componentsには以下の記載があります。

The vulnerability is present in versions 19.0, 19.1.0, 19.1.1, and 19.2.0 of:

Difyの修正版である1.10.1-fix.1はリリースノートに「React 19.2.1を採用した」という記載がある為、この問題は解決されていることが分かります。

Difyをバージョンアップする際の注意点

既存のDifyをバージョンアップする際、あまり特別な手順は必要とせず、基本的には以下を実行するだけです。実際の作業時は設定ファイル(.env)をバックアップするなどの手順も追加すると尚、安心だと思います。

  1. コンテナを停止する
  2. GitHubから最新のソースコードを取得する
  3. コンテナを開始する

但し、以前に記事を書いたのですが、Dify1.10.1からは永続ボリュームの所有者設定が必要という点には注意が必要です。Difyは1.10.1から「永続ボリュームの所有者をID:1001に変更しないとエラーになり、起動しない」という問題があります。

その為、上記の手順「2」と「3」の間で対策が必要になります。具体的には「ID:1001のグループとユーザの作成」と「永続ボリュームの所有者変更」が必要になり、例えば以下のように実行します。

グループとユーザの作成

groupadd -g 1001 dify
useradd dify -u 1001 -g 1001 -s /sbin/nologin

永続ボリュームの所有者変更

mkdir -p volumes/app/storage && \
chown -R dify:dify volumes/app/storage

1.10.1-fix.1リリースの通知は来ない?

Difyは新バージョンが来るとWebUI上に簡単な通知が表示されます。通常であれば最新バージョンが存在する場合、以下のスクリーンショットで赤丸になっている部分が「オレンジ」に表示されます。ですが、今回の1.10.1-fix.1リリースは確認するタイミングが早すぎたのか、この部分が「既に最新バージョンになっていることを意味するグリーン」に表示されていました。

image
1.10.1-fix.1のリリース通知は来ない?

ここまでの設定が完了したらコンテナを再開することでバージョンアップは完了です(もしプロファイルを指定して起動している場合などは下記コマンドを適切に読み替えます)。

docker compose up -d

1.10.1-fix.1へバージョンアップしてもWebUI上は「fix.1」表示はされない

1.10.1-fix.1へのバージョンアップが完了後にDifyのWebUIからバージョン情報を確認しても「fix1」とは表示されないようです。その為、作業前のバージョンが1.10.1だった場合、「fix1へのバージョンアップが成功したのか?」が分かりづらくなっています。

image
WebUI上でバージョン情報を表示しても「fix.1」は表示されない

こういった場合はCLIからコンテナの状態を確認します。実際に動作しているコンテナ名が「1.10.1-fix.1」のようになっていればfix1へバージョンアップされています。

# docker compose ps
NAME                     IMAGE                                       COMMAND                  SERVICE         CREATED          STATUS                    PORTS
docker-api-1             langgenius/dify-api:1.10.1-fix.1            "/bin/bash /entrypoi…"   api             45 minutes ago   Up 44 minutes             5001/tcp
docker-db_postgres-1     postgres:15-alpine                          "docker-entrypoint.s…"   db_postgres     45 minutes ago   Up 45 minutes (healthy)   5432/tcp
docker-nginx-1           nginx:latest                                "sh -c 'cp /docker-e…"   nginx           45 minutes ago   Up 44 minutes             0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp
docker-plugin_daemon-1   langgenius/dify-plugin-daemon:0.4.1-local   "/bin/bash -c /app/e…"   plugin_daemon   45 minutes ago   Up 44 minutes             0.0.0.0:5003->5003/tcp, [::]:5003->5003/tcp
docker-qdrant-1          langgenius/qdrant:v1.8.3                    "./entrypoint.sh"        qdrant          45 minutes ago   Up 45 minutes             6333-6334/tcp
docker-redis-1           redis:6-alpine                              "docker-entrypoint.s…"   redis           45 minutes ago   Up 45 minutes (healthy)   6379/tcp
docker-sandbox-1         langgenius/dify-sandbox:0.2.12              "/main"                  sandbox         45 minutes ago   Up 45 minutes (healthy)
docker-ssrf_proxy-1      ubuntu/squid:latest                         "sh -c 'cp /docker-e…"   ssrf_proxy      45 minutes ago   Up 45 minutes             3128/tcp
docker-web-1             langgenius/dify-web:1.10.1-fix.1            "/bin/sh ./entrypoin…"   web             45 minutes ago   Up 45 minutes             3000/tcp
docker-worker-1          langgenius/dify-api:1.10.1-fix.1            "/bin/bash /entrypoi…"   worker          45 minutes ago   Up 44 minutes             5001/tcp
docker-worker_beat-1     langgenius/dify-api:1.10.1-fix.1            "/bin/bash /entrypoi…"   worker_beat     45 minutes ago   Up 44 minutes             5001/tcp

免責事項

本サイトおよび対応するコメントにおいて表明される意見は、投稿者本人の個人的意見であり、投稿者の所属組織の意見ではありません。本サイトの内容は、情報の提供のみを目的として掲載されており、投稿者の所属組織や他の関係者による推奨や表明を目的としたものではありません。各利用者は、本Webサイトへの掲載により、投稿、リンクその他の方法でアップロードした全ての情報の内容に対して全責任を負い、本Webサイトの利用に関するあらゆる責任から免責することに同意したものとします。

株式会社プログデンス
設定によりコメント欄が無効化されています