🇰🇷 한글 설명
Linux 커널의 NFSD 구성 요소에서 SECINFO_NO_NAME 디코딩 오류 발생 시 정리 과정의 결함이 발견되었습니다. XDR 스트림이 잘린 상태로 전달될 경우 sin_exp 구조체가 초기화되지 않은 채 이전 RPC 호출의 잔류 데이터를 포함할 수 있어 메모리 관리 오류를 유발합니다.
💡 쉬운 설명
네트워크를 통해 파일을 공유하는 기능에서 데이터 처리 중 오류가 발생할 때, 이전 작업의 찌꺼기 데이터가 남아 있어 시스템에 문제를 일으킬 수 있는 보안 약점입니다. 이는 잘못된 메모리 참조로 이어져 시스템 불안정성을 초래할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
NFSD: Fix SECINFO_NO_NAME decode error cleanup
nfsd4_decode_secinfo_no_name() currently initializes sin_exp after
decoding sin_style. If the XDR stream is truncated, the decoder returns
nfserr_bad_xdr before sin_exp is initialized.
Since commit 3fdc54646234 ("NFSD: Reduce amount of struct
nfsd4_compoundargs that needs clearing"), the inline iops array is not
cleared between RPC calls. A failed SECINFO_NO_NAME decode can therefore
leave sin_exp holding stale union contents from a previous operation.
The error response path still invokes nfsd4_secinfo_no_name_release(),
which calls exp_put() on a non-NULL sin_exp.
Initialize sin_exp before the first failable decode step, matching
nfsd4_decode_secinfo().
📍 영향받는 시스템
Linux Kernel (NFSD 구성 요소가 포함된 버전)
⚔️ 공격 벡터
조작된(Truncated) XDR 스트림을 포함한 NFS RPC 요청을 전송하여 메모리 오류 유도
🛡️ 대응 방법
커널 패치를 적용하여 nfsd4_decode_secinfo_no_name() 함수 내 sin_exp 초기화 로직을 수정하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 보안 패치 버전인지 확인하십시오.