🔍 CVE-2026-72044

0.0
CVSS Score
UNKNOWN
2026-08-15
2026-08-15 06:21
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ksmbd 모듈에서 멀티채널 세션 키 복사 시 스택 버퍼 오버플로우 취약점이 발견되었습니다. NTLM 또는 Kerberos 인증 과정에서 세션 키 길이가 할당된 버퍼보다 클 경우, 커널 스택에 24바이트까지 데이터를 덮어쓸 수 있습니다.

💡 쉬운 설명

컴퓨터가 인증 정보를 저장하는 작은 공간보다 더 큰 정보를 강제로 밀어 넣어 시스템을 고장 내거나 해킹할 수 있는 문제입니다. 인증 과정에서 데이터 크기를 제대로 확인하지 않아 발생하는 오류입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix stack buffer overflow in multichannel session-key copy Commit 4b706360ffb7 ("ksmbd: fix multichannel binding and enforce channel limit") moved the binding-path session key out of the session-wide sess->sess_key (CIFS_KEY_SIZE = 40) into a new per-channel buffer, and sized both that buffer and the on-stack copy used during binding with SMB2_NTLMV2_SESSKEY_SIZE (16): struct channel { char sess_key[SMB2_NTLMV2_SESSKEY_SIZE]; /* 16 */ ... }; ntlm_authenticate() / krb5_authenticate(): char channel_key[SMB2_NTLMV2_SESSKEY_SIZE] = {}; /* 16 */ char *auth_key = conn->binding ? channel_key : sess->sess_key; The two writers that fill this destination still bound the copy length against CIFS_KEY_SIZE (40), not against the 16-byte buffer: ksmbd_decode_ntlmssp_auth_blob() (NTLM key exchange): if (sess_key_len > CIFS_KEY_SIZE) /* 40 */ return -EINVAL; arc4_crypt(ctx_arc4, sess_key, (char *)authblob + sess_key_off, sess_key_len); ksmbd_krb5_authenticate(): if (resp->session_key_len > sizeof(sess->sess_key)) /* 40 */ ... memcpy(sess_key, resp->payload, resp->session_key_len); On a binding SESSION_SETUP, auth_key points at the 16-byte channel_key, so a client that supplies an NTLM EncryptedRandomSessionKey of up to 40 bytes (with NTLMSSP_NEGOTIATE_KEY_EXCH), or a Kerberos ticket whose session key is longer than 16 bytes (a normal AES256 key is 32), writes past the 16-byte stack buffer -- up to a 24-byte kernel stack overflow. KASAN reports it as a stack-out-of-bounds write in arc4_crypt() called from ksmbd_decode_ntlmssp_auth_blob(). The destinations must be able to hold the full session key the length checks already permit. Size the per-channel key buffer and the two on-stack channel_key buffers with CIFS_KEY_SIZE, matching sess->sess_key.

📍 영향받는 시스템

Linux kernel (ksmbd module enabled)

⚔️ 공격 벡터

조작된 NTLM 또는 Kerberos 인증 패킷을 전송하여 커널 스택 오버플로우 유발

🛡️ 대응 방법

커널 패치(Commit 4b706360ffb7 포함)를 적용하여 세션 키 버퍼 크기를 CIFS_KEY_SIZE로 확장

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel