🔍 CVE-2021-47281

7.8
CVSS Score
HIGH
2024-05-21
2026-08-04 10:16
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ALSA seq 컴포넌트에서 snd_seq_timer_open() 함수 호출 시 경합 조건(Race Condition)이 발생할 수 있는 취약점입니다. 이로 인해 타이머 인스턴스가 중복 생성되어 기존 인스턴스를 덮어쓸 수 있으며, 결과적으로 Use-After-Free(UAF) 취약점으로 이어질 수 있습니다.

💡 쉬운 설명

여러 명령이 동시에 실행될 때 타이머를 관리하는 과정에서 충돌이 발생하여 시스템 메모리 오류를 일으킬 수 있는 문제입니다. 이 오류를 이용하면 공격자가 시스템의 제어권을 획득하거나 프로그램을 강제로 종료시킬 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: Fix race of snd_seq_timer_open() The timer instance per queue is exclusive, and snd_seq_timer_open() should have managed the concurrent accesses. It looks as if it's checking the already existing timer instance at the beginning, but it's not right, because there is no protection, hence any later concurrent call of snd_seq_timer_open() may override the timer instance easily. This may result in UAF, as the leftover timer instance can keep running while the queue itself gets closed, as spotted by syzkaller recently. For avoiding the race, add a proper check at the assignment of tmr->timeri again, and return -EBUSY if it's been already registered.

📍 영향받는 시스템

ALSA seq 모듈을 사용하는 Linux 커널 버전

⚔️ 공격 벡터

동시적인 snd_seq_timer_open() 호출을 통한 경합 조건 유도 및 메모리 오염

🛡️ 대응 방법

해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 취약점이 해결된 패치 버전인지 배포판 보안 공지를 통해 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel