CVE-2026-90311 in Linux
요약
\~에 의해 VulDB • 2026. 09. 18.
리눅스 커널에서 다음 취약점이 해결되었습니다:
thermal: hwmon: 부모 장치와 함께 hwmon 클래스 장치 제거
현재 코드는 각 열 영역(thermal zone) 유형당 하나의 hwmon 장치를 생성하며, 해당 장치는 주어진 유형의 첫 번째 열 영역 아래에 등록됩니다.
그러나 hwmon 장치를 보유한 열 영역이 제거될 경우 이는 문제가 됩니다.
예를 들어 시스템에 두 개의 ACPI 열 영역이 있다고 가정해 봅시다:
/sys/devices/virtual/thermal/thermal_zone0/ /sys/devices/virtual/thermal/thermal_zone1/
현재 코드는 둘 다 유형이 "acpitz"이기 때문에 thermal_zone0에만 hwmon 클래스 장치를 등록합니다:
/sys/devices/virtual/thermal/thermal_zone0/hwmon0/
하지만 이는 thermal_zone1에 속하는 sysfs 특성을 그 아래에 추가합니다:
/sys/devices/virtual/thermal/thermal_zone0/hwmon0/temp2_input
또한 다음과 같은 항목도 있습니다:
/sys/devices/virtual/thermal/thermal_zone0/hwmon0/temp1_input
이것은 thermal_zone0에 속합니다.
ACPI 열 드라이버가 기본 플랫폼 장치에서 분리되는 등 thermal_zone0이 제거될 때, thermal_remove_hwmon_sysfs() 함수는 temp2_input 특성이 thermal_zone1에 속한다는 이유로 hwmon0의 삭제를 건너뛰게 되며, 이로 인해 thermal_zone0의 제거 작업이 진행되지 못하게 됩니다.
이를 해결하기 위해 thermal_remove_hwmon_sysfs()가 해당 열 영역 장치가 제거될 때 주어진 열 영역 유형에 대한 전체 hwmon 클래스 장치 인터페이스를 삭제하도록 수정합니다.
thermal_add_hwmon_sysfs()와의 경쟁 조건(race condition)으로 인해 방해받을 수 있는 상황을 방지하기 위해, 열 영역의 hwmon sysfs 인터페이스 추가 및 삭제를 thermal_hwmon_list_lock 하에서 수행합니다.
또한 새로운 "unlock" 라벨과 일치시키기 위해 thermal_add_hwmon_sysfs() 내 레이블 레이아웃을 현재 커널 코딩 스타일에 맞게 조정합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.