Linux KernelのLPE脆弱性(PinTheft: CVE-2026-43494:RDSモジュール)

05/20/2026にLinux KernelのLPE脆弱性(PinTheft: CVE-2026-43494)が公開されました。RDSモジュールが有効になっている必要があり、影響範囲は限定されそうです。今回はこちらの脆弱性の概要と、各ディストリビューションの対応について纏めます。

(2026/05/22 09:00更新:CVE-2026-43494がアサインされたそうです)

[過去関連リンク(最新5件)]

一次情報源

CVSS/プライオリティ

  • CVE-2026-43494
    • 影響するバージョン
      • N/A
    • Priority/CVSS SCORE
      • NVD(CVSSv4): Not disclosed
      • NVD(CVSSv31): Not disclosed
      • Red Hat(CVSSv4): Not disclosed
      • Red Hat(CVSSv31): 7.0 Important
    • CVSS Vector
      • NVD(CVSSv4): Not disclosed
      • NVD(CVSSv31): Not disclosed
      • Red Hat(CVSSv4): Not disclosed
      • Red Hat(CVSSv31): CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
    • EPSS Score/Percentile
      • DATE(JST): 2026-05-21
      • EPSS: 0.000180000
      • Percentile: 0.050460000

修正方法

各ディストリビューションの情報を確認してください。

CVE概要(詳細はCVEのサイトをご確認ください)

概要(詳細は一次情報源をご確認ください)

またV12 security teamによりみつけられた脆弱性になります。

今回のLPEが発現する前提条件としては

  • CONFIG_RDS
  • CONFIG_RDS_TCP
  • CONFIG_IO_URING
  • io_uring_disabled=0
  • SUID-rootバイナリにRead権限でアクセスできること

となるため、RDSが組み込まれていない/モジュールとしてロードされていないLinux Kernelは対象外になります。

今回のバグは、RDSのzerocopy送信パスに存在していました。rds_message_zcopy_from_user()関数は、ユーザーページを一回に付き1pageずつ固定します。後続のページでエラーが発生すると、エラーパスは既に固定されていたpageを破棄しますが、zcopy notifierがクリアされた後もscatterlistのエントリとエントリ数が有効なまま残っているため、その後のRDSメッセージクリーンアップ処理が破棄を行います。これにより、zerocopy送信が失敗するたびに、最初のページから1つの参照が奪われる可能性があります。

PoCではio_uringを用いて、このrefcountバグを活用しています。anonymous pageを固定バッファとして登録し、そのページに1024 referenceのFOLL_PINバイアスを設定します。これにより、RDS zerocopy送信の失敗によってこれらの参照を奪い取ってpageを解放し、SUID-rootバイナリのページキャッシュとして再利用し、staleのio_uring固定バッファページポインタを使用して、そのページキャッシュを小さなELFペイロードで上書きします。これにより、SUID-rootバイナリを実行すると、ルートシェルに移行します。

PoC

一次情報源でPoCが公開されています。

緩和策

RDSに存在するバグになるため、RDSモジュールをunloadすることで迂回策になります。

一次情報源にも有りますが、修正済みのLinux Kernelが提供されるまでは、下記のようにモジュールを読み込まないようにしましょう。

rmmod rds_tcp rds
printf 'install rds /bin/false\ninstall rds_tcp /bin/false\n' > /etc/modprobe.d/pintheft.conf

対象となるディストリビューション

  • RDSがデフォルトで入っているかはこちらで確認できます
  • 自分のLinux上でどうなっているかは、/boot以下のConfig-XXを見たほうが確実です。
cat /boot/config-$(uname -r) | less

主なディストリビューションの対応方法

詳細は、各ディストリビューションの提供元にご確認ください

対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。

[参考]

タイトルとURLをコピーしました