07/22/2026にLinux Kernelの脆弱性(IPV6_FRAG_ESCAPE: CVE-2026-53362, CVE-2026-53366)が公開されました。今回はこちらの脆弱性の概要と、各ディストリビューションの対応について纏めます。
[過去関連リンク(最新5件)]
- Linux Kernelの脆弱性(Januscape: CVE-2026-53359)
- Linux KernelのLPE脆弱性(PinTheft: CVE-2026-43494:RDSモジュール)
- 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)
IPV6_FRAG_ESCAPE
CentOS / RHEL 10 向けの、信頼性の高い非特権コンテナからのエスケープの概念実証(PoC)になります。
GitHubには悪用方法のコンセプトが記載されていますが、トリガーについては意図的に説明が省かれています。
Scope
- 対象: CentOS / RHEL 10 (カーネル 6.12.x、
6.12.0-242.el10)。 - 開始: ネットワークで隔離されたコンテナ内の非特権プロセスであり、非特権ユーザーの名前空間にアクセスできます。
- 結果:ホストの初期ネームスペースとルートファイルシステムに、対話型のルートシェルが確立されます。
Requirements
CONFIG_INIT_ON_ALLOC_DEFAULT_ONRHEL/CentOS のデフォルト設定である off が有効になっている必要があります。この PoC では、初期化されていないスラブバイトに古いポインタを挿入します。init_on_alloc=1これによりスロットがゼロになり、この特定の手法ではカーネルがクラッシュするだけです 。これはこの手法の限界であり、バグの限界ではありません。修正と CVE が公開され次第、これらのカーネルも対象とする、別の手法を用いた完全なエクスプロイトが提供される予定です。- 5レベルページング(LA57、57ビット線形アドレス)。ページテーブルウォークは5レベルに対応するように設計されており、起動チェックは5レベルページテーブルがないと実行されません。4レベルCPUの場合は、ウォーク処理のリファクタリングが必要になります。
/sys/kernel/btf/vmlinuxが利用可能かつ閲覧可能(RHEL / CentOSではデフォルト)。
テスト済みカーネル
| CentOS Stream 10 | 6.12.0-242.el10 | ルート、コンテナエスケープ |
| RHEL 10 | 6.12.0-228.el10 | httpd_t コンテキストエスケープ |
CVSS/プライオリティ
- CVE-2026-53362
- 影響するバージョン
- N/A
- Priority/CVSS SCORE
- NVD/CNA(CVSSv4): Not disclosed
- NVD/CNA(CVSSv31): 7.8 High
- Red Hat(CVSSv4): Not disclosed
- Red Hat(CVSSv31): 7.8 : Important
- CVSS Vector
- NVD/CNA(CVSSv4): Not disclosed
- NVD/CNA(CVSSv31): CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Red Hat(CVSSv4): Not disclosed
- Red Hat(CVSSv31): CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- EPSS Score/Percentile
- DATE(JST): 2026-07-22
- EPSS: 0.001230000
- Percentile: 0.024850000
- 影響するバージョン
- CVE-2026-53366
- 影響するバージョン
- N/A
- Priority/CVSS SCORE
- NVD/CNA(CVSSv4): Not disclosed
- NVD/CNA(CVSSv31): 7.8 High
- Red Hat(CVSSv4): Not disclosed
- Red Hat(CVSSv31): 7.0 : Moderate
- CVSS Vector
- NVD/CNA(CVSSv4): Not disclosed
- NVD/CNA(CVSSv31): CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- 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-07-22
- EPSS: 0.001560000
- Percentile: 0.051810000
- 影響するバージョン
修正方法
各ディストリビューションの情報を確認してください。
CVE概要(詳細はCVEのサイトをご確認ください)
- https://www.cve.org/CVERecord?id=CVE-2026-53362
- ipv6: ページングされた割り当てパスの fraggap を考慮するように変更
- __ip6_append_data() では、ページングされた割り当ての分岐 (MSG_MORE / NETIF_F_SG / large fraglen) が実行されると、alloclen と pagedlen は次のように計算されます: alloclen = fragheaderlen + transhdrlen; pagedlen = datalen – transhdrlen; datalen には既に fraggap が含まれています (datalen = length + fraggap)。fraggap がゼロでない場合、これは最初の skb ではなく、transhdrlen はゼロです。前の skb から引き継がれた fraggap バイトは、新しい skb の線形領域のフラグメント ヘッダーのすぐ後にコピーされます。そのため、線形領域は fraggap バイトだけ小さくなり、pagedlen は同じ量だけ大きくなり、コピーによって skb->end を超えて末尾の skb_shared_info に書き込まれます。権限のないユーザーは、MSG_MORE と MSG_SPLICE_PAGES を併用した UDPv6 ソケットを介してこれをトリガーできます。
- https://www.cve.org/CVERecord?id=CVE-2026-53366
- ipv4: ページングされた割り当てパスの fraggap を考慮するように変更
- __ip_append_data() では、ページングされた割り当ての分岐が実行されると、alloclen と pagedlen は次のように計算されます。alloclen = fragheaderlen + transhdrlen; pagedlen = datalen – transhdrlen; datalen には既に fraggap が含まれていますが、前の skb から引き継がれた fraggap バイトは、後続の skb_copy_and_csum_bits() によって、新しい skb の線形領域のオフセット transhdrlen にコピーされます。そのため、線形領域は fraggap バイト分だけ小さくなり、pagedlen は同じ量だけ大きくなります。ページングされていない分岐では、alloclen を fraglen に設定しますが、datalen に fraggap が含まれているため、fraggap は既に考慮されています。ページングされた分岐を、alloclen に fraggap を追加し、pagedlen から減算することで、整合性を保ちます。この調整後、ページパス上のコピーはもはや -fraggap に縮退しなくなるため、古い計算式を説明する古いコメントを削除します。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
- Red Hat Enterprise Linux/CentOS/Rocky Linux/Alma Linux
- Ubuntu
- SUSE/openSUSE
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。