CVE-2026-80660 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 28.

리눅스 커널에서 다음 취약점이 해결되었습니다:

hwmon: (occ) occ 잠금 외부에서 sysfs 장치 등록 해제

occ_active(false) 및 occ_shutdown()는 occ->lock이 유지된 상태에서 sysfs 기반 장치를 등록 해제합니다. hwmon_device_unregister()와 sysfs_remove_group()는 활성 sysfs 콜백의 소멸을 기다릴 수 있으며, 이러한 콜백은 OCC 업데이트 경로에 진입하여 occ->lock을 다시 획득하려고 시도할 수 있습니다. 이로 인해 등록 해제 경로는 occ->lock -> sysfs 콜백 소멸이라는 잠금 순서를 갖게 되는 반면, 콜백은 반대 방향인 sysfs 콜백 -> occ->lock의 에지를 가집니다.

이 문제는 정적 분석 도구로 발견되었으며 현재 트리에 대해 수동으로 검토되었습니다.

기반이 된 PoC는 실제 등록 해제 및 콜백 전달자를 유지했습니다:

occ_shutdown() hwmon_device_unregister() occ_show_temp_1() occ_update_response()

Lockdep은 이미 OCC 뮤텍스를 보유하고 있는 occ_shutdown()과 sysfs 측면에서 대기 중인 hwmon_device_unregister() 간의 순환 의존성을 보고했습니다:

WARNING: possible circular locking dependency detected ... (sysfs_lock) ... at: hwmon_device_unregister+0x12/0x30 [vuln_msv]
... (&test_occ.lock) ... at: occ_shutdown.constprop.0+0xe/0x40 [vuln_msv]
occ_update_response.isra.0+0xb/0x20 [vuln_msv]
occ_show_temp_1.constprop.0.isra.0+0x23/0x40 [vuln_msv]
*** DEADLOCK ***

별도의 hwmon_lock을 사용하여 hwmon 등록 및 제거를 직렬화합니다. 해당 잠금 하에서 concurrent OCC 상태 변경이 안정적인 상태를 볼 수 있도록 occ->lock이 유지된 동안 occ->hwmon을 분리하고 occ->active를 업데이트한 후, hwmon_device_unregister() 호출 전에 occ->lock을 해제합니다. 또한 occ_shutdown()에서 occ->lock을 획득하기 전에 드라이버 sysfs 그룹을 제거하여 OCC 뮤텍스가 보유되는 동안 드라이버 속성 소멸이 대기하지 않도록 합니다. 또한 비활성화 후에 OCC 업데이트 콜백이 -ENODEV를 반환하도록 하여, 이미 sysfs 활성 보호를 통과한 콜백들이 teardown으로 인해 hwmon 장치가 분리된 후에도 하드웨어를 폴링하지 않도록 합니다.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

Linux

예약하다

2026. 08. 26.

모더레이션

수락

항목

VDB-396598

EPSS

0.00172

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!