Erlang / Elixirの脆弱性情報まとめ

2026.11.02 15:02 更新 2026年に公表されたErlang/OTP・Elixir本体とよく使われるHexのパッケージの脆弱性

件数の多いパッケージ上位1件

中・低など緊急・高悪用確認 1

深刻度の内訳

脆弱性の種類上位1種類

コード実行1

新規公表と更新直近14日

新規公表 0件 / 更新 1件

深刻度×脆弱性の種類押すと絞り込み

脆弱性の種類緊急高中低未評価
コード実行1––––

Erlang・Elixirの脆弱性対応では、Erlang/OTP本体、Elixir本体、Hexの依存、配備したリリースに含まれる実行環境を分けて確かめます。ここでは悪用が確認された脆弱性と2026年の主なもの、自分の環境が対象かを確かめる方法をまとめます。

このページの要点
  • OTPのSSHサーバーのCVE-2025-32433はKEVに載っています。SSHサーバーを使っていれば、各系列の最新へ上げます。
  • OTPの修正は最新の3系列だけに出ます。11月2日時点では29.1.2・28.5.0.8・27.3.4.19です。
  • mix releaseのリリースは実行環境を含むため、OTPを上げたあとビルドし直して配備します。

01Erlang・Elixirで今確かめたい脆弱性

2026年に公表されたもののうち、Erlang/OTP本体、Elixir本体、よく使われるHexのパッケージで確かめておきたいものです。米CISAのKEV(悪用が確認された脆弱性の一覧、10月30日版)に載っているErlang/OTPの項目は、SSHサーバーのCVE-2025-32433の1件です。[1]

脆弱性・問題主な対象・条件修正・対応
Erlang/OTP(ssh)
CVE-2025-32433
OTPのSSHサーバーを動かす構成。認証の前に任意のコードを実行されるおそれ。提供元の評価でCVSS 3.1の10.0(緊急)。KEVに2025年6月9日追加OTP-27.3.3・26.2.5.11・25.3.2.20で修正。今は下の表の各系列の最新へ[2]
Erlang/OTP(ssl)
CVE-2026-89422
OTP 22.2以降のTLS 1.3のクライアント。サーバーが送る想定外の事前共有鍵で、証明書の検証を飛ばして接続が成立する。既定の設定でも成立し、httpcのHTTPSも対象。CVSS 4.0の9.3(緊急)29.1.1・28.5.0.7・27.3.4.18。上げるまではTLS 1.2に限るのが提供元の回避策[3]
Erlang/OTP(ssl)
CVE-2026-55953
(D)TLS 1.2のクライアントで、サーバー証明書の検証を回避されるおそれ。CVSS 4.0の9.1(緊急)29.0.4・28.5.0.4・27.3.4.15[4]
Erlang/OTP(inets)
CVE-2026-73812 ほか
組み込みのWebサーバーhttpd(一部はHTTPクライアントのhttpc)を使う構成。9月1日(日本時間)にリクエストスマグリング、mod_authの認証の回避、サービス停止など10件以上が公表29.0.6・28.5.0.6・27.3.4.17(inets 9.7.2・9.6.2.3・9.3.2.7)[5]
Elixir本体
CVE-2026-109821 ほか
URI.parse/1・JSON.decode/1に大きな値を渡すとCPU・メモリを使い切るおそれ。深刻度は中1.18.6・1.19.7・1.20.5(10月30日)[6]
grpc(Hex)
CVE-2026-48853
0.4.0以上1.0.0未満で、既定では無効のErlpackのコーデックを有効にしたサーバー。任意のコード実行やBEAMの停止のおそれ。CVSS 4.0の9.21.0.0以上[7]
ash_authentication
CVE-2026-49757
OAuth2・OIDCのログインで、メールアドレスで利用者を照合するためにアカウントを乗っ取られるおそれ。CVSS 4.0の9.24.14.0以上(5.0系は5.0.0-rc.10)[8]
phoenix
CVE-2026-56811
1つの接続で参加できるチャンネルの数に上限がなく、少ない接続でサービスを止められるおそれ。CVSS 4.0の8.71.5.15・1.6.17・1.7.24・1.8.9[9]
plug
CVE-2026-54892
1.15.0以降。入れ子のクエリ・本文のパラメータの解析に時間がかかり、サービスを止められるおそれ。CVSS 4.0の8.71.15.5〜1.19.3(系列ごとに異なる)[10]

KEVのCVE-2025-32433の項目は、Cisco・NetApp・SUSEなど、Erlang/OTPのSSHサーバーを組み込んだ製品も対象になりうると書いています。[1] 自社で書いたコードでなくても、Erlangで動く製品や機器は提供元の告知を確かめます。

02Erlang/OTPとElixirのサポート期限と更新先

Erlang/OTPがセキュリティの更新と修正を出すのは、最新の3つのメジャー版です。[11] 11月2日時点では29・28・27の3系列で、10月15日(日本時間)に各系列の最新版が出ています。[12]

系列状態今上げる先
OTP 29サポート対象(最新)29.1.2
OTP 28サポート対象28.5.0.8
OTP 27サポート対象27.3.4.19
OTP 26以前サポート外。7月以降のアドバイザリに修正版の記載がない27以降の最新へ

Elixirは、不具合の修正を最新のマイナー版だけに、セキュリティの修正を最近の5つのマイナー版(1.16〜1.20)に出す方針です。[13] ただし10月30日の3件の修正版は1.18.6・1.19.7・1.20.5で、1.17以前の修正版はアドバイザリに記載がありません。[6] Elixirの版ごとに使えるOTPは決まっていて、1.20は27〜29、1.19は26〜28、1.18は25〜27です。[13] OTPを上げるときは、Elixirも合わせて上げます。

03Hexの依存関係の脆弱性を確かめる方法

Elixir(Mix)では、Hexのmix hex.auditを使います。Hex 2.5(6月29日)からは、取り下げられた版に加えて、セキュリティのアドバイザリがある依存も一覧に出し、見つかればゼロ以外の終了コードを返します。[14][15] mix deps.getでもアドバイザリのある版に印が付きますが、ビルドは止まりません。CIではmix hex.auditを実行します。

ターミナル
mix local.hex --force
mix hex.audit
mix deps.tree
mix deps.update plug

対象外と判断したアドバイザリは、mix.exsのhexのignore_advisoriesにCVEかGHSAの番号を書いて除けます。[15]

rebar3には、アドバイザリを調べるコマンドが組み込まれていません。有志のプラグインrebar3_auditは、rebar.lockの版をGitHub Advisory Databaseと照らし合わせます。OTP 27以上が必要です。[16]

ターミナル
%% rebar.config
{project_plugins, [rebar3_audit]}.

rebar3 audit
rebar3 tree
rebar3 upgrade cowboy

OSV-Scannerはmix.lockを読めますが、rebar.lockには対応していません。[17]

04Erlang・Elixirの脆弱性の確認の進め方

  1. OTPの版は細かい番号まで見る:erlang:system_info(otp_release)で分かるのは29のようなメジャー版だけです。開発環境ではreleases/<メジャー版>/OTP_VERSIONのファイルに29.1.2のような版が書かれています。[18]
  2. 本番のリリースでは、アプリケーションの版を見る:OTPのツールで作ったリリースにはOTP_VERSIONのファイルが置かれません。[18] リモートコンソールでapplication:which_applications().(ElixirはApplication.spec(:ssl, :vsn))を実行し、ssl・ssh・inetsの版をアドバイザリに書かれたアプリケーションの版と比べます。
  3. リリースを作り直す:Elixirのmix releaseは、既定でERTS(実行環境)をリリースに含めます。ホストのOTPを上げても、動いているリリースは変わりません。新しいOTPでビルドし直して配備します。
  4. SSHサーバーとhttpdを使っているか:CVE-2025-32433はSSHサーバー、9月のinetsの件はhttpdを使う構成が対象です。コードでssh:daemonやinets:start(httpd, …)を呼んでいるかを探し、使っていれば各系列の最新へ上げます。提供元は、上げるまでSSHサーバーを止めるか、ファイアウォールで接続を絞るよう案内しています。[2]
  5. TLSのクライアント:CVE-2026-89422は、外部のAPIやデータベースにssl:connectでつなぐ側が対象です。サーバーとして動かしていなくても、HTTPSで外に出るなら確かめます。
セキュリティ対策サービス一覧AIを悪用した攻撃への対策について、相談、リスクの診断、システムの改修を支援します。必要なものだけを選んで依頼できます。

よくある質問

SSHサーバーを使っていなければ、CVE-2025-32433は関係ありませんか?

提供元のアドバイザリが対象にしているのは、Erlang/OTPのSSHサーバーを動かしている環境です。自社のコードで使っていなくても、Erlangで動く製品や機器がSSHサーバーを組み込んでいることがあり、KEVの項目もCisco・NetApp・SUSEの製品に触れています。製品の提供元の告知も確かめます。

mix hex.auditで何も出なければ十分ですか?

mix hex.auditが調べるのは、mix.lockに書かれたHexの依存です。Erlang/OTPとElixir本体の版は、上の表と各提供元のアドバイザリで別に確かめます。

Elixir 1.17を使っています。セキュリティの修正は出ますか?

Elixirの方針では1.17もセキュリティの修正の対象ですが、10月30日に公表された3件の修正版は1.18.6・1.19.7・1.20.5で、1.17以前の修正版は記載がありません。1.18.6以上に上げ、使っているOTPの版が合うかも確かめます。

出典・参考資料

  1. CISA:Known Exploited Vulnerabilities Catalog2026-10-30版 / Erlang/OTPの項目がCVE-2025-32433の1件で、2025年6月9日に追加されたこと、組み込んだ製品への言及
  2. Erlang/OTP:GHSA-37cp-fgq5-7wc2(CVE-2025-32433)2025-04-17 / SSHサーバーの対象・修正版・CVSS・回避策
  3. Erlang/OTP:GHSA-rgxr-4g4w-j875(CVE-2026-89422)2026-09-22 / TLS 1.3のクライアントの対象・条件・修正版・回避策・CVSS
  4. Erlang/OTP:GHSA-c6cw-pr89-w882(CVE-2026-55953)2026-07-27 / (D)TLS 1.2の証明書の検証の回避と修正版
  5. Erlang/OTP:Security advisories(GHSA-7j6m-4ffg-hg46 ほか)2026-09-01 / inets httpdの複数件と修正版
  6. Elixir:Security advisories(GHSA-327h-97cv-59xg・GHSA-rp5q-xqhq-926h ほか)2026-10-30 / Elixir本体の3件の対象と修正版、1.17以前の修正版の記載がないこと
  7. GitHub Advisory Database:GHSA-grp7-v8xh-rj7h(grpc)2026-08-26 / grpcのErlpackの条件・修正版・CVSS
  8. GitHub Advisory Database:GHSA-777c-2fxx-qr28(ash_authentication)2026-08-26 / ash_authenticationの対象・修正版・CVSS
  9. GitHub Advisory Database:GHSA-6983-jfq8-485w(phoenix)2026-09-04 / phoenixの対象・修正版・CVSS
  10. GitHub Advisory Database:GHSA-j43x-5hjq-rgxf(plug)2026-09-23 / plugの対象・修正版・CVSS
  11. Erlang/OTP:Erlang/OTP versions最新の3つの版にセキュリティの更新を出すこと
  12. Erlang/OTP:Releases(OTP-29.1.2・28.5.0.8・27.3.4.19)2026-10-15 / 各系列の最新版と公開日
  13. Elixir:Compatibility and deprecationsElixirのサポートの方針と、版ごとに使えるOTP
  14. Hex:Hex v2.5 released2026-06-29 / mix deps.getでのアドバイザリの表示と、ビルドを止めないこと
  15. Hex:mix hex.auditmix hex.auditの対象・終了コード・ignore_advisories
  16. rebar3_audit:READMErebar.lockとGitHub Advisory Databaseの照合、OTP 27以上が必要なこと
  17. OSV-Scanner:Supported languages and lockfiles2026-11-02確認 / mix.lockに対応し、rebar.lockが一覧に無いこと
  18. Erlang/OTP:Versions(Retrieving Current OTP Version)otp_releaseがメジャー版だけであること、OTP_VERSIONの置き場所とリリースに置かれないこと