Rubyの最新安定版シリーズである「Ruby 4.0」において、パッチリリースとなるRuby 4.0.3が2026年4月21日に公開されました。

今回のアップデートは、組み込みライブラリであるERBに発見された深刻な脆弱性への対策を主目的としたセキュリティリリースです。

信頼できないデータソースからの入力を扱うアプリケーションにおいて、特定の条件下でコード実行などのリスクが生じる可能性があるため、開発チームは速やかなアップデートを推奨しています。

本記事では、修正された脆弱性の詳細と、今後のリリーススケジュールについて解説します。

ERBにおける脆弱性 (CVE-2026-41316) の修正

今回のリリースにおける最大の変更点は、ERB 6.0.1.1 への更新です。

このバージョンでは、CVE-2026-41316 として識別される脆弱性が修正されています。

脆弱性の影響を受ける条件

この問題は、以下の条件をすべて満たす環境において発生する可能性があります。

プロジェクトの依存関係や実装状況を確認してください。

  1. 信頼できないデータに対して Marshal.load を呼び出している
  2. アプリケーションに erbactivesupport の両方がロードされている

修正方法と推奨バージョン

この脆弱性を解決するためには、ERBを以下のバージョン、またはそれ以降へアップデートする必要があります。

Ruby 4.0.3 に更新することで、安全なERBのバージョンが適用されます。

  • ERB 4.0.3.1 / 4.0.4.1
  • ERB 6.0.1.1 / 6.0.4

以下は、脆弱性の影響を受ける可能性のある典型的な処理例です。

Ruby
# 外部からの入力など、信頼できないデータ
untrusted_payload = params[:serialized_data]

# erbとactivesupportがロードされている環境で
# 信頼できないデータをMarshal.loadするのは危険です
data = Marshal.load(untrusted_payload)

Ruby 4.0系の今後のリリーススケジュール

Ruby開発チームは、現在の安定版であるRuby 4.0について、2ヶ月おきに定期的なリリースを行う計画を公表しています。

2026年後半に向けた予定は以下の通りです。

| リリースバージョン | 予定時期 | 4.0.4 | 2026年5月 | 4.0.5 | 2026年7月 | 4.0.6 | 2026年9月 | 4.0.7 | 2026年11月 |

ただし、ユーザーに大きな影響を与える変更や緊急のセキュリティ修正が必要になった場合は、予定を前倒ししてリリースが行われることがあります。

その際、以降のスケジュールも柔軟に調整される運用となっています。

まとめ

Ruby 4.0.3は、ERBとActiveSupportを併用しているプロジェクトにとって重要なセキュリティアップデートです。

対象となるシステムを運用している場合は、Ruby公式サイトの情報を確認し、早期にバージョンアップを実施してください。

定期的なメンテナンスによって、アプリケーションの安全性を維持することが強く推奨されます。