🔍 CVE-2026-98361

7.8
CVSS Score
HIGH
2026-10-06
2026-10-19 10:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 RDMA/rxe 구성 요소에서 ODP 쓰기 경로 중 HMM_PFN_WRITE 체크가 누락되어 발생하는 취약점입니다. 권한이 없는 사용자가 읽기 전용 파일 매핑에 대해 ODP MR을 등록하면, RDMA 트래픽을 통해 /etc/passwd와 같은 중요 파일의 페이지 캐시를 덮어쓸 수 있습니다.

💡 쉬운 설명

읽기 전용으로 보호된 중요한 시스템 파일을 해커가 몰래 수정할 수 있는 보안 결함입니다. 마치 읽기 전용 문서에 몰래 글을 써서 내용을 바꾸는 것과 같은 위험한 상황을 초래할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Restore HMM_PFN_WRITE check in ODP write paths Commit 0b261d7c1cd3 ("RDMA/rxe: Break endless pagefault loop for RO pages") dropped the access permission test from rxe_check_pagefault() and left only HMM_PFN_VALID. A page faulted in read-only, for example a page-cache folio behind a PROT_READ file mapping, then satisfies the check and ODP write operations (RDMA WRITE, RDMA READ response, SEND payload, atomics) modify it through kmap without ever breaking CoW. An unprivileged user can register an ODP MR over such a mapping and have incoming RDMA traffic overwrite the page cache of a file it only holds O_RDONLY, including /etc/passwd or setuid binaries. This is the same primitive class as Dirty COW and CVE-2022-2590. mlx5 has the missing invariant: its ODP path sets the device write bit only for pfns that carry HMM_PFN_WRITE. Restore it in rxe by requiring HMM_PFN_WRITE in rxe_check_pagefault() for every operation except RXE_PAGEFAULT_RDONLY. A write to a non-writable VMA now fails the one fault attempt with -EPERM from hmm_vma_fault() instead of re-faulting forever. For a writable VMA the fault breaks CoW and the write lands in the private page. Keep pmem flushes on the read-only check. arch_wb_cache_pmem() never modifies memory, and the FLUSH access bits do not make the umem writable, so classifying flushes as writes would make every flush against a flush-only MR fail.

📍 영향받는 시스템

RDMA/rxe를 사용하는 Linux 커널 (Dirty COW와 유사한 취약점 클래스 포함)

⚔️ 공격 벡터

권한이 없는 사용자가 읽기 전용 파일 매핑에 대해 ODP(On-Demand Paging)를 등록한 후 RDMA 트래픽을 전송하여 페이지 캐시를 변조함

🛡️ 대응 방법

HMM_PFN_WRITE 체크가 복구된 최신 Linux 커널 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

NVIDIA Cloud Gaming Guest Driver for Linux