🇰🇷 한글 설명
Linux 커널의 Smack 보안 모듈 내 smack_file_send_sigiotask() 함수에서 발생한 Use-After-Free(UAF) 취약점입니다. 다른 태스크의 자격 증명을 검사할 때 객체 자격 증명(objective credentials)을 사용해야 함에도 불구하고 잘못된 포인터에 접근하여 발생합니다. 이 결함은 레이스 컨디션을 유발하여 커널 메모리 오류를 일으킬 수 있습니다.
💡 쉬운 설명
컴퓨터의 핵심 운영체제인 리눅스에서 권한을 확인하는 과정에 오류가 있어, 이미 사라진 권한 정보를 다시 사용하려다 시스템이 충돌하거나 보안이 뚫릴 수 있는 문제입니다. 이를 통해 공격자가 시스템의 통제권을 얻을 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
smack: fix cred UAF in smack_file_send_sigiotask()
When inspecting the credentials of another task, objective credentials
(->real_cred, accessed with __task_cred()) must always be used.
Accessing ->cred on a non-current task is forbidden unless that task is
being created or destroyed; a task is allowed to change its own ->cred
pointer with no synchronization, and changing ->cred should only affect the
current syscall.
smack_file_send_sigiotask() was accessing both sets of credentials: First
tsk->cred, then __task_cred(tsk).
Fix it, always access the objective credentials here.
I have tested that this bug can lead to a KASAN-reported UAF of struct cred
in smack_file_send_sigiotask(), and that this fix prevents the race.
📍 영향받는 시스템
Linux kernel (Smack 보안 모듈이 활성화된 버전)
⚔️ 공격 벡터
특정 조건에서 태스크의 자격 증명이 변경되는 시점에 레이스 컨디션을 유발하여 커널 메모리 오류를 일으킴
🛡️ 대응 방법
Smack 모듈의 자격 증명 접근 방식을 수정하여 최신 커널 패치를 적용함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 최신 보안 패치 버전인지 확인합니다.