05/20/2026にLinux KernelのLPE脆弱性(PinTheft: CVE-2026-43494)が公開されました。RDSモジュールが有効になっている必要があり、影響範囲は限定されそうです。今回はこちらの脆弱性の概要と、各ディストリビューションの対応について纏めます。
(2026/05/22 09:00更新:CVE-2026-43494がアサインされたそうです)
[過去関連リンク(最新5件)]
- Linux Kernelの脆弱性(ssh-keygen-pwn: Important: CVE-2026-46333)
- Linux KernelのLPE(ローカル権限昇格)の脆弱性(Fragnesia(CopyFail3): CVE-2026-46300)
- Linux KernelのLPE(Local Privilege Escalation)脆弱性(Dirty Frag: CVE-2026-43284, CVE-2026-43500: CopyFail2)
- Linux Kernelのローカルユーザによる権限昇格の脆弱性(Copy Fail: CVE-2026-31431)
- Linux Kernelの脆弱性(CVE-2025-40345〜CVE-2025-71101)
一次情報源
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のサイトをご確認ください)
- https://www.cve.org/CVERecord?id=CVE-2026-43494
- net/rds: reset op_nents when zerocopy page pin fails
概要(詳細は一次情報源をご確認ください)
またV12 security teamによりみつけられた脆弱性になります。
今回のLPEが発現する前提条件としては
CONFIG_RDSCONFIG_RDS_TCPCONFIG_IO_URINGio_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主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
- Red Hat Enterprise Linux/CentOS/Rocky Linux/Alma Linux
- Ubuntu
- SUSE/openSUSE
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。
