CVE-2025-21701 in Linux
요약
\~에 의해 VulDB • 2026. 05. 25.
리눅스 커널에서 다음 취약점이 해결되었습니다:
net: 장치 등록 해제와 ethnl 작업 간 레이스 컨디션 방지
장치가 등록 해제되는 동안 채널 수가 수정되면 다음 트레이스를 볼 수 있습니다.
DEBUG_LOCKS_WARN_ON(lock->magic != lock) WARNING: CPU: 3 PID: 3754 at kernel/locking/mutex.c:564 __mutex_lock+0xc8a/0x1120 CPU: 3 UID: 0 PID: 3754 Comm: ethtool Not tainted 6.13.0-rc6+ #771 RIP: 0010:__mutex_lock+0xc8a/0x1120 Call Trace: ethtool_check_max_channel+0x1ea/0x880 ethnl_set_channels+0x3c3/0xb10 ethnl_default_set_doit+0x306/0x650 genl_family_rcv_msg_doit+0x1e3/0x2c0 genl_rcv_msg+0x432/0x6f0 netlink_rcv_skb+0x13d/0x3b0 genl_rcv+0x28/0x40 netlink_unicast+0x42e/0x720 netlink_sendmsg+0x765/0xc20 __sys_sendto+0x3ac/0x420 __x64_sys_sendto+0xe0/0x1c0 do_syscall_64+0x95/0x180 entry_SYSCALL_64_after_hwframe+0x76/0x7e
이는 unregister_netdevice_many_notify가 ethnl 작업(예: 위의 예제에서 set_channels)의 rtnl 잠금 섹션보다 먼저 실행될 수 있기 때문입니다. 이 예제에서 rss 잠금은 장치 등록 해제 경로에 의해 다시 사용되기 전에 파괴되지만, 일반적으로 분해(dismantle)가 시작된 동안 ethnl 작업을 실행하는 것은 좋은 생각이 아닙니다.
등록 해제 중인 장치에 대한 모든 작업을 거부함으로써 이를 수정합니다. ethnl_ops_begin에 이미 검사가 있었지만 충분히 광범위하지 않았습니다.
ioctl 버전(__dev_ethtool)에서는 동일한 문제를 볼 수 없는데, 이는 장치 참조가 해당 rtnl 잠금 섹션 내에서 검색되기 때문입니다. 분해가 시작되면 네트워크 장치는 목록에서 제외되며 참조를 찾을 수 없습니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.