🔍 CVE-2025-38523

7.5
CVSS Score
HIGH
2025-08-16
2026-07-30 06:23
✅ 완료

🇰🇷 한글 설명

Linux 커널의 CIFS(SMB Direct) 클라이언트 코드에서 smbd_response 슬랩(slab) 객체의 패킷 영역이 usercopy 권한을 허용하도록 설정되지 않아 발생하는 취약점입니다. CONFIG_HARDENED_USERCOPY가 활성화된 환경에서 copy_to_iter() 함수를 통해 데이터를 복사할 때 커널 보안 검사를 통과하지 못해 커널 패닉(Oops)이 발생할 수 있습니다.

💡 쉬운 설명

리눅스 컴퓨터가 네트워크를 통해 파일을 주고받을 때, 보안 설정이 강화된 시스템에서 데이터 복사 과정 중 오류가 발생하여 시스템이 갑자기 멈추거나 꺼질 수 있는 문제입니다. 이는 공격자가 시스템을 중단시키는 용도로 악용될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: cifs: Fix the smbd_response slab to allow usercopy The handling of received data in the smbdirect client code involves using copy_to_iter() to copy data from the smbd_reponse struct's packet trailer to a folioq buffer provided by netfslib that encapsulates a chunk of pagecache. If, however, CONFIG_HARDENED_USERCOPY=y, this will result in the checks then performed in copy_to_iter() oopsing with something like the following: CIFS: Attempting to mount //172.31.9.1/test CIFS: VFS: RDMA transport established usercopy: Kernel memory exposure attempt detected from SLUB object 'smbd_response_0000000091e24ea1' (offset 81, size 63)! ------------[ cut here ]------------ kernel BUG at mm/usercopy.c:102! ... RIP: 0010:usercopy_abort+0x6c/0x80 ... Call Trace: <TASK> __check_heap_object+0xe3/0x120 __check_object_size+0x4dc/0x6d0 smbd_recv+0x77f/0xfe0 [cifs] cifs_readv_from_socket+0x276/0x8f0 [cifs] cifs_read_from_socket+0xcd/0x120 [cifs] cifs_demultiplex_thread+0x7e9/0x2d50 [cifs] kthread+0x396/0x830 ret_from_fork+0x2b8/0x3b0 ret_from_fork_asm+0x1a/0x30 The problem is that the smbd_response slab's packet field isn't marked as being permitted for usercopy. Fix this by passing parameters to kmem_slab_create() to indicate that copy_to_iter() is permitted from the packet region of the smbd_response slab objects, less the header space.

📍 영향받는 시스템

CONFIG_HARDENED_USERCOPY가 활성화된 Linux 커널 (CIFS/SMB Direct 사용 환경)

⚔️ 공격 벡터

악의적으로 조작된 SMB Direct 패킷을 전송하여 커널의 usercopy 검사를 유발하고 시스템을 중단시킴 (DoS)

🛡️ 대응 방법

smbd_response 슬랩 생성 시 usercopy 허용 파라미터를 포함하도록 커널을 최신 버전으로 업데이트

🔧 검증 코드

커널 버전과 CONFIG_HARDENED_USERCOPY 설정이 'y'로 되어 있는지 확인하여 취약한 환경인지 판단합니다.

Shell / Script
uname -r && grep CONFIG_HARDENED_USERCOPY /boot/config-$(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