NATS
v2.14.4Networking & MessagingNATS v2.14.4 は 3 つの認証・認可フロー (TLS verify_and_map 空パスワード認証回避、no_auth_user 認証コールアウト回避、MQTT $MQTT.> サブスクリプション権限回避) を修正するほか、JetStream と MQTT の信頼性・パフォーマンス向上を多く含みます。Raft クラスタ修正、シーケンス操作最適化、調整可能なディスク並行性があります。
securityTLS verify_and_map 空パスワード認証回避を修正
TLS の `verify_and_map` 認証でパスワードが空の場合、認証をスキップしていました。修正は v2.14.4 に含まれ、`verify_and_map` が設定されている環境が対象です。
securityno_auth_user 認証コールアウト回避を修正
`no_auth_user` と認証コールアウトを組み合わせており、クライアントが `CONNECT` メッセージを送信しない場合、認証チェックがスキップされていました。修正は v2.14.4 に含まれ、両方の設定を使用している環境が対象です。
securityMQTT $MQTT.> サブスクリプション権限回避を修正
MQTT クライアントが `$MQTT.>` サブジェクトをサブスクライブして権限制限を回避できました。修正は v2.14.4 に含まれ、すべての MQTT デプロイメントが対象です。
enhancementJetStream ディスク並行性調整可能オプションを追加
ディスク並行実行セマフォーのデフォルトが CPU スケール値から 4096 スロットに引き上げられました。JetStream I/O 並行性は jetstream 設定ブロック内の新しい `max_concurrent_io` オプションで調整できるようになりました。
主な変更 (8)
- セキュリティ: TLS verify_and_map 空パスワード認証回避 (verify_and_map 設定時に適用)
- セキュリティ: no_auth_user + 認証コールアウト回避 (CONNECT 省略時、両方の設定時に適用)
- セキュリティ: MQTT $MQTT.> サブスクリプション権限回避を修正
- JetStream ディスク並行セマフォーを 4096 スロットに引き上げ (max_concurrent_io オプションで調整可能)
- JetStream パフォーマンス: ストリームスナップショットがバッファサイズを事前決定、シーケンス検索を最適化、ファイルストアブロックキャッシュをプールに回収
- JetStream 信頼性: Raft/クラスタデコーダ修正で不正形式のレプリケート ack/更新、暗号化キーファイル同期、メッセージ削除の競合状態に対応
- MQTT 信頼性: QoS1/QoS2 パケット識別子が単調カウンター化、QoS ダウングレード時の配信リークを修正
- その他: JWT 検証の空白のみ権限でのクラッシュ修正、キューサブスクリプション権限強制、null JSON 値クラッシュ、healthz/varz エンドポイント問題を修正
対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチも、その一例です。