🔍 CVE-2026-89690

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

🇰🇷 한글 설명

Linux 커널의 nfsd에서 rpc_status netlink dumpit 작업 중 vmalloc 메모리의 Use-After-Free(UAF) 취약점이 발견되었습니다. NFSv4 요청 처리 과정에서 ops 버퍼가 RCU grace period를 기다리지 않고 즉시 해제되어, 동시에 진행 중인 dumpit 작업이 해제된 메모리에 접근할 수 있는 문제입니다. 이를 해결하기 위해 vfree 대신 RCU grace period 이후에 메모리를 해제하는 kvfree_rcu_mightsleep()을 사용하도록 수정되었습니다.

💡 쉬운 설명

컴퓨터가 데이터를 읽고 있는 도중에 해당 데이터가 저장된 메모리 공간을 미리 지워버려서 발생하는 오류입니다. 이로 인해 시스템이 불안정해지거나 보안 공격에 악용될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: nfsd: defer vfree of compound ops to fix rpc_status UAF The rpc_status netlink dumpit walks every in-flight svc_rqst under rcu_read_lock and, for NFSv4 requests, reads opnums out of args->ops[]. But args->ops is a separate vmalloc buffer freed synchronously by vfree() in nfsd4_release_compoundargs() at the end of every compound. The dumpit's rcu_read_lock pins the svc_rqst struct itself (freed via kfree_rcu), but nothing defers the vfree of the ops buffer across the RCU grace period. A concurrent compound completion can therefore free the buffer while the dumpit is reading it — a use-after-free on vmalloc memory. The trailing seqcount recheck (smp_load_acquire of rq_status_counter) cannot undo a load that already retired against freed memory. Fix by replacing vfree(args->ops) with kvfree_rcu_mightsleep(), which defers the free until after an RCU grace period. This makes the existing rcu_read_lock in the dumpit sufficient to protect the read. The tradeoff is that completed compound ops buffers (up to 200 * sizeof(struct nfsd4_op)) persist in memory slightly longer, across one grace period, before being reclaimed.

📍 영향받는 시스템

Linux kernel (nfsd component)

⚔️ 공격 벡터

동시에 발생하는 NFSv4 요청 완료와 rpc_status netlink dumpit 작업을 이용한 메모리 접근

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 vfree를 kvfree_rcu_mightsleep()으로 교체 적용

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이상인지 확인합니다.

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

💻 영향받는 소프트웨어

Linux Kernel