🔍 CVE-2025-71117

5.5
CVSS Score
MEDIUM
2026-01-14
2026-11-05 22:17
✅ 완료

🇰🇷 한글 설명

Linux 커널에서 여러 sysfs store 콜백이 요청 큐를 불필요하게 freeze하던 문제가 해결되었습니다. 이 freeze가 dm-multipath의 queue_if_no_path 옵션과 결합하면 데드락이 발생할 수 있었고, 부팅 속도 저하도 유발했습니다. 패치로 io_poll_delay, io_timeout, nomerges, read_ahead_kb, rq_affinity 속성에서 freeze 호출이 제거되었습니다.

💡 쉬운 설명

리눅스 시스템 설정을 바꿀 때 디스크 입출력을 잠시 멈추는 과정이 있었는데, 특정 조건에서 시스템이 멈춰버리는 문제가 있었습니다. 이번 수정으로 그 불필요한 멈춤 과정을 없애 멈춤 현상과 부팅 지연을 줄였습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: block: Remove queue freezing from several sysfs store callbacks Freezing the request queue from inside sysfs store callbacks may cause a deadlock in combination with the dm-multipath driver and the queue_if_no_path option. Additionally, freezing the request queue slows down system boot on systems where sysfs attributes are set synchronously. Fix this by removing the blk_mq_freeze_queue() / blk_mq_unfreeze_queue() calls from the store callbacks that do not strictly need these callbacks. Add the __data_racy annotation to request_queue.rq_timeout to suppress KCSAN data race reports about the rq_timeout reads. This patch may cause a small delay in applying the new settings. For all the attributes affected by this patch, I/O will complete correctly whether the old or the new value of the attribute is used. This patch affects the following sysfs attributes: * io_poll_delay * io_timeout * nomerges * read_ahead_kb * rq_affinity Here is an example of a deadlock triggered by running test srp/002 if this patch is not applied: task:multipathd Call Trace: <TASK> __schedule+0x8c1/0x1bf0 schedule+0xdd/0x270 schedule_preempt_disabled+0x1c/0x30 __mutex_lock+0xb89/0x1650 mutex_lock_nested+0x1f/0x30 dm_table_set_restrictions+0x823/0xdf0 __bind+0x166/0x590 dm_swap_table+0x2a7/0x490 do_resume+0x1b1/0x610 dev_suspend+0x55/0x1a0 ctl_ioctl+0x3a5/0x7e0 dm_ctl_ioctl+0x12/0x20 __x64_sys_ioctl+0x127/0x1a0 x64_sys_call+0xe2b/0x17d0 do_syscall_64+0x96/0x3a0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 </TASK> task:(udev-worker) Call Trace: <TASK> __schedule+0x8c1/0x1bf0 schedule+0xdd/0x270 blk_mq_freeze_queue_wait+0xf2/0x140 blk_mq_freeze_queue_nomemsave+0x23/0x30 queue_ra_store+0x14e/0x290 queue_attr_store+0x23e/0x2c0 sysfs_kf_write+0xde/0x140 kernfs_fop_write_iter+0x3b2/0x630 vfs_write+0x4fd/0x1390 ksys_write+0xfd/0x230 __x64_sys_write+0x76/0xc0 x64_sys_call+0x276/0x17d0 do_syscall_64+0x96/0x3a0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 </TASK>

📍 영향받는 시스템

Linux 커널 (block 계층 sysfs 속성을 사용하는 수정 전 버전, 특히 dm-multipath 환경)

⚔️ 공격 벡터

로컬 권한을 가진 사용자가 해당 sysfs 속성에 쓰기를 반복해 데드락이나 서비스 지연을 유발할 수 있음 (CVSS 5.5, 주로 서비스 거부 성격)

🛡️ 대응 방법

배포판 제공 보안 업데이트로 패치된 커널 버전으로 업그레이드하고 재부팅합니다.

🔧 검증 코드

출력된 커널 버전이 배포판의 보안 권고에서 안내하는 패치 이후 버전인지 비교하며, 버전이 같거나 높으면 수정이 적용된 것으로 판단합니다.

Shell / Script
uname -r && (dpkg -l 'linux-image*' 2>/dev/null | grep -E '^ii' || rpm -qa 'kernel*' 2>/dev/null) | head -n 20

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel