🇰🇷 한글 설명
Linux 커널의 NFSD에서 NFSv4 COMPOUND 헤더의 작업(operation) 개수 제한을 제거하면서 발생한 취약점입니다. 공격자가 매우 큰 작업 개수를 포함한 COMPOUND 헤더를 전송할 경우, NFSD가 이를 처리하기 위해 과도한 메모리를 할당하려 시도하여 vmalloc 오류를 유발합니다.
💡 쉬운 설명
해커가 서버에 아주 많은 양의 작업을 한꺼번에 처리해달라고 요청하여 서버의 메모리를 고갈시키는 공격입니다. 이로 인해 서버가 제대로 작동하지 않거나 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Revert "NFSD: Remove the cap on number of operations per NFSv4 COMPOUND"
I've found that pynfs COMP6 now leaves the connection or lease in a
strange state, which causes CLOSE9 to hang indefinitely. I've dug
into it a little, but I haven't been able to root-cause it yet.
However, I bisected to commit 48aab1606fa8 ("NFSD: Remove the cap on
number of operations per NFSv4 COMPOUND").
Tianshuo Han also reports a potential vulnerability when decoding
an NFSv4 COMPOUND. An attacker can place an arbitrarily large op
count in the COMPOUND header, which results in:
[ 51.410584] nfsd: vmalloc error: size 1209533382144, exceeds total
pages, mode:0xdc0(GFP_KERNEL|__GFP_ZERO),
nodemask=(null),cpuset=/,mems_allowed=0
when NFSD attempts to allocate the COMPOUND op array.
Let's restore the operation-per-COMPOUND limit, but increased to 200
for now.
📍 영향받는 시스템
NFSv4 COMPOUND 작업 제한이 제거된 버전의 Linux 커널 (NFSD 포함)
⚔️ 공격 벡터
조작된 NFSv4 COMPOAND 헤더를 전송하여 과도한 메모리 할당 유도
🛡️ 대응 방법
커널 업데이트를 통해 NFSv4 COMPOUND 작업 개수 제한(200개)이 복구된 최신 버전 적용
🔧 검증 코드
출력된 커널 버전이 취약점이 패치된 최신 보안 업데이트 버전인지 확인