🔍 CVE-2026-80661

7.8
CVSS Score
HIGH
2026-08-28
2026-08-29 07:16
✅ 완료

🇰🇷 한글 설명

Linux 커널의 UFS 코어 트레이싱 과정에서 TP_printk() 함수가 이미 해제된 hba 포인터를 역참조할 수 있는 취약점이 발견되었습니다. 트레이스 이벤트가 나중에 읽힐 때 포인터가 유효하지 않을 수 있어 커널 크래시를 유발할 수 있습니다. 이를 해결하기 위해 포인터 대신 장치 이름을 직접 링 버퍼에 저장하도록 수정되었습니다.

💡 쉬운 설명

시스템 기록을 남기는 과정에서 이미 사라진 메모리 주소를 참조하려고 시도하여 컴퓨터가 갑자기 멈추거나 꺼질 수 있는 문제입니다. 기록할 때 필요한 정보를 미리 복사해 두지 않아 발생하는 오류입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ufs: core: tracing: Do not dereference pointers in TP_printk() The trace events in drivers/ufs/core/ufs_trace.h were converted to take a pointer to the hba structure as an argument for the tracepoint and then in TP_printk() the printing of the dev_name from the ring buffer was converted to using the dev dereferenced pointer from the hba saved pointer. This is not allowed as the TP_printk() is executed at the time the trace event is read from /sys/kernel/tracing/trace file. That can happen literally, seconds, minutes, hours, weeks, days, or even months later! There is no guarantee that the hba pointer will still exist by the time it is dereferenced when the "trace" file is read. Instead, save the device name from the hba pointer at the time the tracepoint is called and place it into the ring buffer event. Then the TP_printk() can read the name directly from the ring buffer and remove the possibility that it will read a freed pointer and crash the kernel. This was detected when testing the trace event code that looks for TP_printk() parameters doing illegal derferences[1] [1] https://lore.kernel.org/all/[email protected]/

📍 영향받는 시스템

UFS 드라이버를 사용하는 Linux 커널 버전

⚔️ 공격 벡터

로컬 사용자가 트레이스 파일을 읽는 과정에서 메모리 해제된 포인터에 접근하여 커널 패닉 유도

🛡️ 대응 방법

UFS 코어 트레이싱 관련 패치가 적용된 최신 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