🔍 CVE-2023-53387

7.8
CVSS Score
HIGH
2025-09-18
2026-08-04 10:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 UFS(Universal Flash Storage) 드라이버에서 장치 관리 명령(NOP OUT)의 타임아웃 처리 오류가 발견되었습니다. 명령이 타임아웃되었음에도 완료 구조체가 NULL로 설정되지 않아, 이후 장치가 명령을 완료할 경우 스택에 할당된 메모리를 참조하여 시스템 크래시(Panic)가 발생할 수 있습니다.

💡 쉬운 설명

저장 장치와 통신하는 과정에서 오류가 발생했을 때, 컴퓨터가 잘못된 메모리 주소를 참조하여 시스템이 갑자기 멈추거나 꺼질 수 있는 문제입니다. 장치와의 연결을 복구하려는 시도가 오히려 시스템 충돌을 일으킬 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: scsi: ufs: core: Fix device management cmd timeout flow In the UFS error handling flow, the host will send a device management cmd (NOP OUT) to the device for link recovery. If this cmd times out and clearing the doorbell fails, ufshcd_wait_for_dev_cmd() will do nothing and return. hba->dev_cmd.complete struct is not set to NULL. When this happens, if cmd has been completed by device, then we will call complete() in __ufshcd_transfer_req_compl(). Because the complete struct is allocated on the stack, the following crash will occur: ipanic_die+0x24/0x38 [mrdump] die+0x344/0x748 arm64_notify_die+0x44/0x104 do_debug_exception+0x104/0x1e0 el1_dbg+0x38/0x54 el1_sync_handler+0x40/0x88 el1_sync+0x8c/0x140 queued_spin_lock_slowpath+0x2e4/0x3c0 __ufshcd_transfer_req_compl+0x3b0/0x1164 ufshcd_trc_handler+0x15c/0x308 ufshcd_host_reset_and_restore+0x54/0x260 ufshcd_reset_and_restore+0x28c/0x57c ufshcd_err_handler+0xeb8/0x1b6c process_one_work+0x288/0x964 worker_thread+0x4bc/0xc7c kthread+0x15c/0x264 ret_from_fork+0x10/0x30

📍 영향받는 시스템

UFS 드라이버를 사용하는 Linux 커널 기반 시스템 (scsi: ufs: core 구성 요소 포함)

⚔️ 공격 벡터

물리적 또는 소프트웨어적으로 UFS 장치에 오류를 유도하여 타임아웃 및 메모리 손상을 일으키는 방식

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 ufshcd_wait_for_dev_cmd()의 오류 처리 로직을 수정해야 합니다.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.

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