CVE-2026-74711 in Linux
요약
\~에 의해 VulDB • 2026. 08. 23.
리눅스 커널에서 다음 취약점이 해결되었습니다:
hwmon: (pmbus) 알림 로직 내 타입 혼동(Type confusion) 수정
Sashiko가 보고함:
pmbus_notify()의 루프 시작 부분에서 코드는 모든 속성을 struct sensor_device_attribute로 무조건 캐스팅합니다.
drivers/hwmon/pmbus/pmbus_core.c:pmbus_notify() {
for (i = 0; i < data->num_attributes; i++) {
struct device_attribute *da = to_dev_attr(data->group.attrs[i]);
struct sensor_device_attribute *attr = to_sensorDevAttr(da); int index = attr->index; ... }
그러나 data->group.attrs에는 struct pmbus_samples_reg 또는 struct pmbus_sensor와 같은 다른 타입이 포함될 수 있으며, 이들은 기본 struct device_attribute만 임베딩하고 있습니다.
da가 struct pmbus_samples_reg인 경우, dev_attr는 마지막 멤버입니다. 이를 struct sensor_device_attribute로 캐스팅하여 index 필드를 읽으면 할당된 메모리 끝을 넘어가는 접근(access)으로 보이며, 이는 slab-out-of-bounds read를 유발할 수 있습니다.
또한 da가 struct pmbus_sensor인 경우, 캐스팅하면 index 필드가 page, phase 및 reg 필드와 겹칩니다. 이것이 리틀 엔디안 시스템에서 대상 reg, page 및 flags와 우연히 일치하는 가짜 마스크(garbage mask)를 생성하여 경고(alert) 시 잘못된 동작을 유발할 수 있습니까?
이 문제를 해결하기 위해 struct pmbus_sensor 및 struct pmbus_label에서 struct sensor_device_attr를 사용합니다. 해당 속성들은 알림을 트리거하지 않으므로 attr->index 값을 -1로 설정합니다. 이 값을 사용하여 알림을 트리거할 수 있으며 index 필드를 사용하여 마스크, 페이지 및 레지스터 값을 인코딩하는 부울 속성과 구별합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.