LinuxのLinux Kernelにおける不特定の脆弱性
タイトル LinuxのLinux Kernelにおける不特定の脆弱性
概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。net/rdsでは、RDS_CONN_ERRORからのショートカットが存在しません。RDS接続は状態「rds_conn_path::cp_state」を持ち、状態間の遷移は期待される状態「rds_conn_path_transition」に基づいて条件付きで行われます。ただし、この条件には例外があり、「RDS_CONN_ERROR」は現在の状態に関係なく「rds_conn_path_drop」によって強制されます。しかし、接続が「RDS_CONN_ERROR」状態になると、接続処理コードはシャットダウン経路を通ることを期待します。RDS/TCPマルチパスの変更により、「rds_tcp_accept_one_path」(例:「rds_tcp_state_change」の後)を介して「RDS_CONN_ERROR」から直接「RDS_CONN_CONNECTING」へのショートカットが追加されました。その後、「rds_tcp_reset_callbacks」によって状態が「RDS_CONN_RESETTING」に遷移し、シャットダウンワーカーがキューに入れられます。これにより、「rds_conn_init_shutdown」が「RDS_CONN_RESETTING」を処理するよう調整されていなかったため誤動作し、「DR_INV_CONN_STATE」のエラーで接続を切断し、「RDS_SHUTDOWN_WORK_QUEUED」が永続してしまいます。対策として、(a)「RDS_CONN_ERROR」からのショートカットを行わず、シャットダウンコードを通る長い経路を採用しました。(b)「rds_conn_init_shutdown」で期待される状態に「RDS_CONN_RESETTING」を追加し、このような異常な状態遷移が再発してもエラーにならずにハングアップしないようにしました。

想定される影響 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

公表日 2026年5月6日0:00
登録日 2026年5月11日11:06
最終更新日 2026年5月11日11:06
CVSS3.0 : 重要
スコア 7.5
ベクター CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
影響を受けるシステム
Linux
Linux Kernel 4.8 以上 5.10.252 未満
Linux Kernel 5.11 以上 5.15.202 未満
Linux Kernel 5.16 以上 6.1.165 未満
Linux Kernel 6.13 以上 6.18.16 未満
Linux Kernel 6.19 以上 6.19.6 未満
Linux Kernel 6.2 以上 6.6.128 未満
Linux Kernel 6.7 以上 6.12.75 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年05月11日]
  掲載
2026年5月11日11:06

NVD脆弱性情報
CVE-2026-43226
概要

In the Linux kernel, the following vulnerability has been resolved:

net/rds: No shortcut out of RDS_CONN_ERROR

RDS connections carry a state "rds_conn_path::cp_state"
and transitions from one state to another and are conditional
upon an expected state: "rds_conn_path_transition."

There is one exception to this conditionality, which is
"RDS_CONN_ERROR" that can be enforced by "rds_conn_path_drop"
regardless of what state the condition is currently in.

But as soon as a connection enters state "RDS_CONN_ERROR",
the connection handling code expects it to go through the
shutdown-path.

The RDS/TCP multipath changes added a shortcut out of
"RDS_CONN_ERROR" straight back to "RDS_CONN_CONNECTING"
via "rds_tcp_accept_one_path" (e.g. after "rds_tcp_state_change").

A subsequent "rds_tcp_reset_callbacks" can then transition
the state to "RDS_CONN_RESETTING" with a shutdown-worker queued.

That'll trip up "rds_conn_init_shutdown", which was
never adjusted to handle "RDS_CONN_RESETTING" and subsequently
drops the connection with the dreaded "DR_INV_CONN_STATE",
which leaves "RDS_SHUTDOWN_WORK_QUEUED" on forever.

So we do two things here:

a) Don't shortcut "RDS_CONN_ERROR", but take the longer
path through the shutdown code.

b) Add "RDS_CONN_RESETTING" to the expected states in
"rds_conn_init_shutdown" so that we won't error out
and get stuck, if we ever hit weird state transitions
like this again."

公表日 2026年5月6日21:16
登録日 2026年5月7日4:08
最終更新日 2026年5月8日22:16
関連情報、対策とツール
共通脆弱性一覧