🔍 CVE-2026-31392

8.1
CVSS Score
HIGH
2026-04-03
2026-10-19 19:17
✅ 완료

🇰🇷 한글 설명

Linux 커널 SMB 클라이언트에서 Kerberos 인증으로 여러 공유를 마운트할 때 첫 번째 마운트의 세션을 재사용하여 다른 username 옵션이 지정되었음에도 잘못된 자격증명으로 접근하는 취약점입니다. 각 마운트 요청 시 지정된 username을 올바르게 매칭하도록 수정되었습니다.

💡 쉬운 설명

여러 네트워크 폴더를 다른 사용자로 마운트할 때 첫 번째 사용자 정보가 계속 재사용되어 의도하지 않은 사용자로 접근하는 문제입니다. 패치를 통해 각 마운트마다 지정된 사용자명을 올바르게 확인하도록 수정되었습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix krb5 mount with username option Customer reported that some of their krb5 mounts were failing against a single server as the client was trying to mount the shares with wrong credentials. It turned out the client was reusing SMB session from first mount to try mounting the other shares, even though a different username= option had been specified to the other mounts. By using username mount option along with sec=krb5 to search for principals from keytab is supported by cifs.upcall(8) since cifs-utils-4.8. So fix this by matching username mount option in match_session() even with Kerberos. For example, the second mount below should fail with -ENOKEY as there is no 'foobar' principal in keytab (/etc/krb5.keytab). The client ends up reusing SMB session from first mount to perform the second one, which is wrong. ``` $ ktutil ktutil: add_entry -password -p testuser -k 1 -e aes256-cts Password for [email protected]: ktutil: write_kt /etc/krb5.keytab ktutil: quit $ klist -ke Keytab name: FILE:/etc/krb5.keytab KVNO Principal ---- ---------------------------------------------------------------- 1 [email protected] (aes256-cts-hmac-sha1-96) $ mount.cifs //w22-root2/scratch /mnt/1 -o sec=krb5,username=testuser $ mount.cifs //w22-root2/scratch /mnt/2 -o sec=krb5,username=foobar $ mount -t cifs | grep -Po 'username=\K\w+' testuser testuser ```

📍 영향받는 시스템

Linux 커널 SMB/CIFS 클라이언트 (cifs-utils 4.8 이전 버전)

⚔️ 공격 벡터

krb5 인증 환경에서 공유 접근 권한이 있는 사용자가 다른 username으로 마운트 시도 시 첫 번째 사용자 세션이 재사용되어 권한 체계 우회 가능

🛡️ 대응 방법

Linux 커널 최신 버전으로 업데이트 및 cifs-utils 4.8 이상 설치

🔧 검증 코드

현재 마운트된 krb5 공유의 username 일관성을 확인하거나 cifs-utils 버전이 4.8 이상인지 확인하여 패치 적용 여부 판단

Shell / Script
mount -t cifs 2>&1 | grep -E 'krb5|sec=' || dpkg -l cifs-utils 2>/dev/null | tail -1 | awk '{print $3}'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

NVIDIA GPU Display Driver for Linux