최근 보안 전문가들 사이에서 화제가 된 Linux 커널 취약점이 하나 있습니다. 바로 CVE-2024-50302인데요, CVSS 점수만 보면 5.5로 중간 수준의 취약점처럼 보이지만 실제로는 상당히 심각한 보안 위험을 내포하고 있어 미국 사이버보안 인프라보안청(CISA)의 KEV(Known Exploited Vulnerabilities) 목록에 긴급 등재된 사안입니다. 이번 글에서는 이 취약점의 실체와 구체적인 패치 방법을 자세히 살펴보겠습니다.
1. CVE-2024-50302 취약점의 정체를 파헤쳐보자
CVE-2024-50302는 Linux 커널의 HID(Human Interface Devices) 드라이버에서 발생하는 초기화되지 않은 리소스 사용 취약점입니다. HID 리포트 버퍼가 할당 중에 제로 초기화되지 않아, 특별히 제작된 리포트를 통해 커널 메모리가 유출될 수 있는 정보 공개 취약점이죠.
간단히 말해, HID 드라이버가 메모리를 할당할 때 이전에 사용되던 데이터가 그대로 남아있는 상태에서 새로운 데이터가 덮어써지는 문제입니다. 이는 공격자가 시스템의 민감한 정보에 접근할 수 있는 경로를 열어주게 되는 거죠.
취약점의 기술적 배경
이 취약점은 Linux 커널 3.12 버전에서 도입된 커밋(27ce405039bf)으로 인해 발생했으며, 무려 10년 넘게 존재해온 오래된 보안 결함입니다. HID 리포트 버퍼는 다양한 드라이버들이 여러 방식으로 사용하는 공유 자원인데, 이 버퍼가 제대로 초기화되지 않아 이전 데이터가 남아있을 수 있었던 것입니다.
2. 왜 CISA가 긴급하게 KEV 목록에 추가했을까?
2025년 3월 4일, CISA는 CVE-2024-50302를 KEV(Known Exploited Vulnerabilities) 카탈로그에 추가했습니다. 이는 단순히 이론적인 취약점이 아니라 실제 공격에서 악용되고 있다는 확실한 증거가 있다는 뜻이죠.
실제 공격 사례: Cellebrite와 세르비아 감시 사건
가장 충격적인 사실은 이 취약점이 Cellebrite의 UFED(Universal Forensic Extraction Device) 도구에서 실제로 악용되어 세르비아 학생 활동가의 안드로이드 폰을 해킹하는 데 사용되었다는 점입니다.
2024년 12월 25일, 세르비아 보안정보청(BIA)이 23세 학생 시위 참가자를 구금하면서 그의 삼성 갤럭시 A32 디바이스를 대상으로 이 취약점을 포함한 익스플로잇 체인을 사용했습니다. 암네스티 인터내셔널의 보안랩이 이를 발견하고 분석한 결과, Cellebrite의 감시 도구가 이 취약점을 악용해 디바이스의 잠금을 해제하고 데이터를 추출하려 했다는 사실이 밝혀진 거죠.
3. 영향받는 시스템과 버전 정확히 알아보기
CVE-2024-50302는 광범위한 Linux 커널 버전에 영향을 미칩니다. 구체적인 영향 범위를 표로 정리하면 다음과 같습니다:
커널 버전 | 영향받는 버전 | 패치된 버전 | 패치 커밋 |
---|---|---|---|
4.19.x | 4.19.324 이전 | 4.19.324 | e7ea60184e1e |
5.4.x | 5.4.286 이전 | 5.4.286 | 3f9e88f2672c |
5.10.x | 5.10.230 이전 | 5.10.230 | d7dc68d82ab3 |
5.15.x | 5.15.172 이전 | 5.15.172 | 05ade5d43378 |
6.1.x | 6.1.117 이전 | 6.1.117 | 1884ab3d2253 |
6.6.x | 6.6.61 이전 | 6.6.61 | 9d9f5c75c0c7 |
6.11.x | 6.11.8 이전 | 6.11.8 | 492015e6249f |
6.12.x | 6.12 이전 | 6.12 | 177f25d1292c |
안드로이드 기기에서의 영향
구글은 2025년 3월 안드로이드 보안 업데이트에서 이 취약점을 패치했으며, 2025년 1월에 이미 OEM(Original Equipment Manufacturer) 업체들에게 패치를 공유했습니다.
4. 단계별 패치 방법 – 배포판별 상세 가이드
Ubuntu 시스템 패치 방법
Ubuntu에서는 다음 명령어로 시스템을 업데이트할 수 있습니다:
# 패키지 목록 업데이트
sudo apt update
# 모든 패키지 업그레이드 (커널 포함)
sudo apt upgrade -y
# 시스템 재부팅 (커널 업데이트 적용)
sudo reboot
Ubuntu Pro 사용자의 경우: Ubuntu Pro를 사용하면 CVE 노출 시간을 98일에서 1일로 단축할 수 있으며, Livepatch를 통한 무재부팅 패치가 가능합니다.
# Ubuntu Pro 상태 확인
sudo pro status
# Livepatch 활성화 상태에서 커널 패치 적용
sudo pro enable livepatch
RHEL/CentOS 시스템 패치 방법
Red Hat 계열 시스템에서는 다음과 같이 진행합니다:
# YUM 패키지 매니저 사용 (CentOS 7, RHEL 7 이하)
sudo yum update kernel -y
# DNF 패키지 매니저 사용 (CentOS 8+, RHEL 8+, Fedora)
sudo dnf update kernel -y
# 시스템 재부팅
sudo reboot
Debian 시스템 패치 방법
Debian에서는 APT를 사용하여 업데이트합니다:
# 패키지 목록 갱신
sudo apt update
# 커널 패키지 업그레이드
sudo apt upgrade linux-image-generic -y
# 재부팅
sudo reboot
5. 패치 적용 확인 방법과 검증 절차
패치가 제대로 적용되었는지 확인하는 방법입니다:
커널 버전 확인
# 현재 커널 버전 확인
uname -r
# 설치된 모든 커널 패키지 확인 (Ubuntu/Debian)
dpkg -l | grep linux-image
# 설치된 커널 패키지 확인 (RHEL/CentOS)
rpm -qa | grep kernel
시스템 로그 확인
# 커널 메시지 확인
dmesg | tail -20
# 시스템 로그에서 HID 관련 메시지 확인
journalctl | grep -i hid
6. 추가 보안 강화 조치 – 완벽한 보안을 위한 팁
USB 디바이스 접근 제한
이 취약점이 USB HID 디바이스를 통해 악용될 수 있으므로, 신뢰할 수 없는 USB 주변장치의 접근을 제한하는 것이 중요합니다:
# USB 디바이스 자동 마운트 비활성화
gsettings set org.gnome.desktop.media-handling automount false
# USBGuard 설치 및 설정 (Ubuntu/Debian)
sudo apt install usbguard -y
sudo usbguard generate-policy > /etc/usbguard/rules.conf
sudo systemctl enable usbguard
sudo systemctl start usbguard
모바일 디바이스 보안 강화
안드로이드 기기의 경우 다음 보안 조치를 권장합니다:
- 즉시 보안 업데이트 적용: 설정(Settings) → 시스템(System) → 시스템 업데이트(System Update)
- 개발자 옵션 비활성화: 설정(Settings) → 개발자 옵션(Developer Options) → 비활성화
- USB 디버깅 비활성화: 개발자 옵션에서 USB 디버깅(USB Debugging) 해제
- 전체 디스크 암호화 확인: 설정(Settings) → 보안(Security) → 암호화(Encryption)
CVE-2024-50302는 단순한 숫자 점수로는 판단할 수 없는 복잡한 보안 위험을 보여주는 대표적인 사례입니다. CVSS 점수는 5.5에 불과하지만, 실제 감시 도구에서 악용되어 인권 활동가를 대상으로 한 사이버 공격에 사용된 것은 숫자 이상의 위험성을 증명하고 있죠. 보안 업데이트는 미룰 수 있는 옵션이 아니라 반드시 실행해야 하는 필수 사항이라는 점입니다. 특히 Linux 시스템을 운영하는 조직이나 개인은 정기적인 커널 업데이트와 보안 패치 적용을 생활화해야 합니다.
관련 링크:
- CISA Known Exploited Vulnerabilities Catalog
- Ubuntu CVE-2024-50302 정보
- Amnesty International Security Lab 보고서
- Google Android 보안 업데이트