🔍 CVE-2026-89541

9.8
CVSS Score
CRITICAL
2026-09-11
2026-10-19 09:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 SUNRPC 구성 요소에서 gss_unwrap_resp_priv() 함수가 RPCSEC_GSS opaque 길이를 검증할 때 정수 오버플로 취약점이 존재합니다. 공격자가 조작된 RPCSEC_GSS 응답을 보내면 경계 검사를 우회하여 gss_krb5_unwrap_v2() 함수 내에서 범위를 벗어난 읽기(Out-of-bounds read)를 유발할 수 있습니다.

💡 쉬운 설명

리눅스 시스템이 네트워크를 통해 받은 데이터를 검사할 때, 숫자가 너무 커서 계산 오류가 발생하는 허점을 이용한 공격입니다. 이를 통해 공격자는 시스템의 메모리 정보를 몰래 읽어낼 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: SUNRPC: harden gss_unwrap_resp_priv length checks gss_unwrap_resp_priv() validates the RPCSEC_GSS opaque length with offset = (u8 *)(p) - (u8 *)head->iov_base; if (offset + opaque_len > rcv_buf->len) goto unwrap_failed; maj_stat = gss_unwrap(ctx->gc_gss_ctx, offset, offset + opaque_len, rcv_buf); Both operands are u32 and the sum is computed in u32. A reply with opaque_len near 0xffffffff makes offset + opaque_len wrap to a small value that is below rcv_buf->len, so the bound check passes and gss_unwrap() is called with end < begin. The check also lacks a lower bound, so any opaque_len in [0, GSS_KRB5_TOK_HDR_LEN) is accepted and forwarded to gss_krb5_unwrap_v2(), whose pre-decrypt header reads at ptr+4 and ptr+6 then run past the token. A krb5p NFS server returning a crafted RPCSEC_GSS reply can drive the client into out-of-bounds reads in gss_krb5_unwrap_v2() and the rotate_left() loop that follows. Fix by replacing the single combined check with three guards that are safe in u32 arithmetic and that enforce the RFC 4121 minimum outer token length: if (offset > rcv_buf->len) goto unwrap_failed; if (opaque_len > rcv_buf->len - offset) goto unwrap_failed; if (opaque_len < GSS_KRB5_TOK_HDR_LEN) goto unwrap_failed; The first guard makes the subtraction in the second guard unconditionally safe; offset is derived from a successful xdr_inline_decode() in the head kvec, so in practice it already satisfies the bound. The floor mirrors the server-side check added in commit 5b757c2e57a5 ("SUNRPC: svcauth_gss: enforce krb5 token minimum length").

📍 영향받는 시스템

Linux kernel (SUNRPC/RPCSEC_GSS 관련 모듈 사용 시스템)

⚔️ 공격 벡터

조작된 RPCSEC_GSS 응답을 전송하는 krb5p NFS 서버를 통한 클라이언트 공격

🛡️ 대응 방법

정수 오버플로를 방지하도록 개선된 최신 Linux 커널 패치 적용

🔧 검증 코드

출력된 커널 버전이 취약점이 수정된 최신 보안 패치 버전인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel