🔍 CVE-2026-74331

0.0
CVSS Score
UNKNOWN
2026-08-15
2026-08-17 06:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 firmware_loader에서 발생하며, 시스템 절전 또는 최대 절전 모드 준비 중 재귀적 잠금 데드락이 발생할 수 있는 취약점입니다. fw_pm_notify()가 fw_lock을 보유한 상태에서 dpm_for_each_dev()를 호출하고, 메모리 부족 시 동기식 실행 경로가 동일한 잠금을 다시 요청하면서 시스템이 멈출 수 있습니다.

💡 쉬운 설명

컴퓨터가 잠자기 모드로 들어갈 때, 특정 작업이 이미 잡고 있는 열쇠를 다시 잡으려고 시도하다가 시스템이 완전히 멈춰버리는 문제입니다. 메모리가 부족한 상황에서 이 문제가 발생할 확률이 높습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: firmware_loader: Fix recursive lock in device_cache_fw_images() A recursive locking deadlock can occur in the firmware loader's power management notification handler. During system suspend or hibernation preparation, fw_pm_notify() calls device_cache_fw_images(). This function acquires fw_lock to set the firmware cache state to FW_LOADER_START_CACHE and then iterates over all devices using dpm_for_each_dev() while still holding the lock. For each device, dev_cache_fw_image() schedules asynchronous work to cache the firmware. If memory allocation for the async work entry fails (e.g., in out-of-memory conditions), async_schedule_node_domain() falls back to executing the work function synchronously in the current thread. The synchronous execution path (__async_dev_cache_fw_image() -> cache_firmware() -> request_firmware() -> assign_fw()) attempts to acquire fw_lock again. Since the current thread already holds fw_lock, this results in a recursive locking deadlock. Fix this by releasing fw_lock immediately after updating the cache state and before calling dpm_for_each_dev(). The lock is only needed to protect the state update. Concurrent firmware requests will correctly see the FW_LOADER_START_CACHE state and use the piggyback mechanism, which is independently protected by its own fwc->name_lock.

📍 영향받는 시스템

Linux Kernel (firmware_loader 구성 요소 포함 버전)

⚔️ 공격 벡터

시스템 절전/최대 절전 모드 진입 시 메모리 부족(OOM) 상황을 유도하여 데드락 발생 가능

🛡️ 대응 방법

커널 패치를 통해 fw_lock을 상태 업데이트 직후 해제하도록 업데이트

🔧 검증 코드

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

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel