오늘은 애플에서 제공하는 운영체제인 Mac OS에서 CVE-2024-44175 취약점에 대해 알아보겠습니다.
해당 취약점인 CVE-2024-44175은 macOS의 diskarbitrationd에서 발생한 TOCTOU(Time of Check to Time of Use) 취약점이며 symbolic link를 이용한 sandbox escape 및 privilege escalation 공격을 가능하게 만드는 취약점 입니다.
해당 취약점은 UserFS(사용자 모드 파일 시스템) 처리 과정에서 발생하게 돼 있으며 검증이 제대로 이루어지지 않아서 발생합니다.
DAFileSystemMountWithArguments 함수
diskarbitrationd는 UserFS 파일 시스템을 마운트 하기 전에 먼저 UserFS 지원 여부를 확인합니다.
void DAFileSystemMountWithArguments( DAFileSystemRef filesystem,
CFURLRef device,
CFStringRef volumeName,
CFURLRef mountpoint,
uid_t userUID,
gid_t userGID,
CFStringRef preferredMountMethod,
DAFileSystemCallback callback,
void * callbackContext,
... )
{
...
if ( fsImplementation != NULL )
{
...
if ( preferredMountMethod != NULL )
{
if ( useUserFS == FALSE )
{
if ( ( CFStringCompare( CFSTR("UserFS"), preferredMountMethod, kCFCompareCaseInsensitive ) == 0) &&
( ___CFArrayContainsString( fsImplementation, CFSTR("UserFS") ) == TRUE ) )
{
**useUserFS = TRUE;**
}
}
}
}
}
useUserFS가 TRUE로 설정되면, diskarbitrationd는 UserFS API를 사용하여 파일 시스템을 마운트 하게 돼 있음
if ( useUserFS )
{
CFArrayRef argumentList;
argumentList = CFStringCreateArrayBySeparatingStrings( kCFAllocatorDefault, devicePath, CFSTR( "/" ) );
if ( argumentList )
{
DAThreadExecute(__DAMountUserFSVolume, context, __DAMountUserFSVolumeCallback, context);
CFRelease( argumentList );
}
else
{
status = EINVAL;
}
goto DAFileSystemMountErr;
문제점
nofollow옵션 누락:
mount 명령에 nofollow 옵션 또는 -k 옵션이 설정되지 않음
공격자로서 심볼릭 링크를 악용하여 의도하지 않은 경로를 마운트 하도록 유도할 수 있음
mount_lifs의 동작:
mount 또는 mount_lifs 프로세스는 root 권한으로 실행
심볼릭 링크가 악용되면 시스템 전체에서 권한 상승(Privilege Escalation) 공격이 가능
루트 권한의 마운트 작업
mount_lifs가 호출될 때 해당 코드가 실행되는 스레드나 프로세스는 루트 권한으로 동작
심볼릭 링크를 따르는 행위는 공격자가 심볼릭 링크를 조작하여 다른 경로(중요 시스템 파일이나 다른 디렉터리)를 마운트할 수 있도록 할 수가 있음
nofollow/-k 옵션 적용
mount_lifs를 루트 권한으로 실행
뭐~전문가가 아니라서 오류가 있을 수가 있으며 해당 부분은 공개된 코드를 가지고 진행을 했습니다.
'소프트웨어 팁 > 보안 및 분석' 카테고리의 다른 글
북한 김수키(Kimsuky)에서 만든 악성코드-1.txt(2024.12.14) (0) | 2024.12.24 |
---|---|
북한 해킹단체 김수키(Kimsuky)에서 만든 금융거래확인서로 위장한 악성코드-confirmation.chm(2024.12.10) (0) | 2024.12.20 |
Mullvad VPN CVE-2024-55884 심각한 보안 취약점 (0) | 2024.12.18 |
노드 VPN 스마트폰 IP 우회 변경 사용법(3개월 무료) (2) | 2024.12.17 |
북한 해킹 단체 김수키(Kimsuky)에서 만든 스피어 피싱으로 제작된 악성코드-열차9월10일원고(화)_4.bat(2024.12.02) (0) | 2024.12.17 |
워드프레스(WordPress) Hunk Companion WordPress 플러그인 취약점 악용한 플러그인 설치 (0) | 2024.12.16 |
일본 みずほ銀行(미즈호은행)피싱메일 간단 분석(2024.12.09) (0) | 2024.12.12 |
윈도우 10 KB5048652,윈도우 11 KB5048667 & KB5048685 보안 업데이트 (0) | 2024.12.11 |