| タイトル | LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性 |
|---|---|
| 概要 | Linuxカーネルにおいて、以下の脆弱性が修正されました:bpfのfork時に発生するarena_vm_closeにおけるuse-after-freeの問題です。arena_vm_open()はvml-mmap_countを増加させるだけで、子VMAをarena-vma_listに登録しません。vml-vmaは常に親VMAを指しているため、親がmunmapした後、そのポインタはダングリング状態になります。もし子がbpf_arena_free_pages()を呼ぶと、zap_pages()は古いvml-vmaを読み取り、use-after-freeを引き起こします。本問題は、VM_DONTCOPYを使用してarena VMAがfork時に継承されないようにし、may_splitコールバックによってVMAの分割も防止することで修正されました。また、.mremapコールバックが-EINVALを返すmremapも拒否します。full arena VMAに対する同サイズのmremap(MREMAP_FIXED)は次の経路でcopy_vma()に到達します。check_prep_vma()はnew_len == old_lenのときに早期に0を返し、VM_DONTEXPANDチェックをスキップします。prep_move_vma()ではvm_startがold_addrかつvm_endがold_addr + old_lenのため、may_splitは呼ばれません。move_vma()の中でcopy_vma_and_data()、copy_vma()、vm_area_dup()が実行され、vm_private_data(vmlポインタ)がコピーされ、vm_ops-open()でvml-mmap_countが増加します。vm_ops-mremap()は-EINVALを返し、ロールバックとして新しいVMAをアンマップします。リファレンスカウントにより、ロールバック時のarena_vm_closeは元のVMAと共有されているvmlを解放しません。 |
| 想定される影響 | ・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。 |
| 対策 | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年5月27日0:00 |
| 登録日 | 2026年6月29日11:17 |
| 最終更新日 | 2026年6月29日11:17 |
| CVSS3.0 : 重要 | |
| スコア | 7.8 |
|---|---|
| ベクター | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Linux |
| Linux Kernel 6.13 以上 6.18.30 未満 |
| Linux Kernel 6.19 以上 7.0.7 未満 |
| Linux Kernel 6.9 以上 6.12.88 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年06月29日] 掲載 |
2026年6月29日11:17 |
| 概要 | In the Linux kernel, the following vulnerability has been resolved: bpf: Fix use-after-free in arena_vm_close on fork arena_vm_open() only bumps vml->mmap_count but never registers the Fix this by preventing the arena VMA from being inherited across Also reject mremap with a .mremap callback returning -EINVAL. A check_prep_vma() - returns 0 early: new_len == old_len The refcount ensures the rollback's arena_vm_close does not free |
|---|---|
| 公表日 | 2026年5月27日20:16 |
| 登録日 | 2026年5月28日4:10 |
| 最終更新日 | 2026年5月27日23:48 |