🇰🇷 한글 설명
Linux 커널의 SMB 클라이언트에서 cifs.idmap 키 설명에 포함된 권한 관련 필드를 검증 없이 신뢰하는 취약점이 발견되었습니다. 사용자 공간에서 조작된 키를 생성하여 루트 권한의 upcall 프로세스에 검증되지 않은 데이터를 전달할 수 있습니다. 이로 인해 권한 상승이나 보안 우회 공격이 발생할 가능성이 있습니다.
💡 쉬운 설명
사용자가 가짜 정보를 담은 특수 키를 만들어 시스템의 관리자 권한 프로세스에 전달할 수 있는 보안 허점이 발견되었습니다. 이를 통해 공격자가 시스템의 권한을 가로채거나 조작할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
smb: client: reject userspace cifs.idmap descriptions
cifs.idmap key descriptions carry authority-bearing fields (owner and
group SIDs and uid/gid values in "os:"/"gs:"/"oi:"/"gi:" form) that the
cifs.idmap upcall helper treats as kernel-originating inputs. Unlike
its sibling cifs.spnego, the cifs.idmap key type has no vet_description
hook, so userspace can create keys of this type through
request_key(2)/add_key(2) and supply those fields without CIFS origin.
A request_key(2) call with a non-NULL callout then drives a root
usermodehelper upcall (/sbin/request-key -> cifs.idmap) that consumes
the unvetted description in root context.
Only accept cifs.idmap descriptions while CIFS is using its private
root_cred to request the key. id_to_sid()/sid_to_id() already run
under override_creds(root_cred), so the kernel-originated path is
unaffected.
This mirrors commit 3da1fdf4efbc ("smb: client: reject userspace
cifs.spnego descriptions"), which applied the same restriction to
cifs.spnego.
📍 영향받는 시스템
Linux kernel (SMB client component using cifs.idmap)
⚔️ 공격 벡터
사용자 공간에서 request_key(2) 또는 add_key(2)를 통해 조작된 cifs.idmap 키를 생성하여 루트 권한의 upcall 프로세스를 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 cifs.idmap 키에 대한 검증 로직을 적용해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.