🇰🇷 한글 설명
Linux 커널 4.11.3 이전 버전의 NFSv4 서버가 UDP 패킷으로부터 받은 NFSv4 pNFS GETDEVICEINFO/LAYOUTGET 명령의 layout type을 적절히 검증하지 않습니다. 초기화되지 않은 값이 배열 인덱스로 사용되어 kernel OOPS를 발생시키고 knfsd 서비스 거부 및 시스템 soft-lockup을 유발합니다.
💡 쉬운 설명
리눅스 서버의 파일 공유 기능(NFS)에 버그가 있어서 인터넷을 통해 악의적인 패킷을 보내면 시스템이 먹통이 될 수 있습니다. 권한이 없어도 원격에서 누구나 공격할 수 있어서 매우 위험합니다.
🇺🇸 원문 (English)
The NFSv4 server in the Linux kernel before 4.11.3 does not properly validate the layout type when processing the NFSv4 pNFS GETDEVICEINFO or LAYOUTGET operand in a UDP packet from a remote attacker. This type value is uninitialized upon encountering certain error conditions. This value is used as an array index for dereferencing, which leads to an OOPS and eventually a DoS of knfsd and a soft-lockup of the whole system.
📍 영향받는 시스템
Linux kernel 4.11.3 미만 버전, NFSv4 서버 기능이 활성화된 시스템
⚔️ 공격 벡터
원격(Remote) - 비인증 공격자가 UDP 패킷으로 조작된 NFSv4 pNFS 명령 전송
🛡️ 대응 방법
Linux kernel을 4.11.3 이상으로 업그레이드하거나 해당 보안 패치 적용
🔧 검증 코드
4.11.3 미만 버전(4.11.2, 4.11.0, 4.10.x 등)이 출력되면 취약함, 4.11.3 이상이면 패치됨
uname -r | grep -oE '^[0-9]+\.[0-9]+\.[0-9]+' | head -1