🔍 CVE-2026-53391

7.5
CVSS Score
HIGH
2026-07-19
2026-10-19 20:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 NFSv4/pNFS 구성 요소에서 GETDEVICEINFO 요청 처리 중 발생하는 NULL 포인터 역참조 취약점입니다. 공격자가 조작된 멀티패스-DS 바디를 전송하여 r_addr의 길이가 0인 경우, 커널이 NULL 포인터를 참조하게 되어 시스템 패닉(Panic)을 유발할 수 있습니다.

💡 쉬운 설명

해커가 조작된 데이터를 보내면 컴퓨터의 핵심 운영체제(커널)가 잘못된 정보를 읽으려다 갑자기 멈추거나 꺼질 수 있는 문제입니다. 이는 주로 네트워크를 통해 연결된 저장 장치 서버가 공격받았을 때 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: NFSv4/pNFS: reject zero-length r_addr in nfs4_decode_mp_ds_addr nfs4_decode_mp_ds_addr() decodes the r_netid and r_addr opaques of a netaddr4 from a GETDEVICEINFO multipath-DS body, then immediately calls strrchr(buf, '.') to locate the port separator. Both decodes use xdr_stream_decode_string_dup(), and the current code checks only "nlen < 0" / "rlen < 0" before dereferencing the returned string. When the on-wire opaque has length zero, xdr_stream_decode_opaque_inline() returns 0 and xdr_stream_decode_string_dup() falls through to its "*str = NULL; return ret" tail, leaving buf NULL with a return value of 0. The "< 0" check does not catch this, and the next line is strrchr(NULL, '.'), a kernel NULL pointer dereference reachable from any pNFS-flexfile client mounted against a malicious or compromised metadata server. Reject the zero-length cases explicitly so the decoder fails with -EBADMSG (treated as a malformed GETDEVICEINFO body) instead of panicking the client.

📍 영향받는 시스템

NFSv4/pNFS를 사용하는 Linux 커널 시스템 (pNFS-flexfile 클라이언트 포함)

⚔️ 공격 벡터

악의적으로 조작된 GETDEVICEINFO 메시지를 전송하는 공격 대상 메타데이터 서버를 통한 네트워크 공격

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 nfs4_decode_mp_ds_addr 함수 내의 길이 검증 로직을 적용해야 합니다.

🔧 검증 코드

출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 보안 공지(Security Advisory)와 대조합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel