CVE-2026-64085 in Linux
요약
\~에 의해 VulDB • 2026. 07. 19.
리눅스 커널에서 다음 취약점이 해결되었습니다:
hwmon: (pmbus/adm1266) 프로토콜 크기 버퍼를 통해 블랙박스 레코드 복사(adm1266_pmbus_block_xfer()는 장치에서 제공하는 블록 페이로드를 호출자가 제공한 버퍼로, 장치에서 지정한 길이를 사용하여 복사합니다.
memcpy(data_r, &msgs[1].buf[1], msgs[1].buf[0]);
도움말 함수(helper)는 data_r의 크기를 알 수 없으며, 장치가 최대 한 레코드 분량의 바이트만 반환할 것이라고 신뢰합니다. adm1266_nvmem_read_blackbox()은 이 계약을 위반합니다: 이는 read_buff를 data->dev_mem 내에서 ADM1266_BLACKBOX_SIZE(64바이트) 단위로 진행시키지만, 도움말 함수는 최대 ADM1266_PMBUS_BLOCK_MAX(255) 바이트까지 쓸 수 있습니다. 후행 레코드에서 64바이트 이상을 반환하는 장치의 경우(dev_mem 할당량인 2048바이트 중 read_buff 오프셋 1984), 호출 이후
if (ret != ADM1266_BLACKBOX_SIZE) return -EIO;
로 응답을 거부할 수 있기 전에 dev_mem이 최대 191바이트까지 오버플로우됩니다.
도움말 함수의 시그니처를 변경하지 않고 호출자 내에서 수정 사항을 제한합니다: 각 레코드를 도움말 함수의 최대 출력과 일치하는 255바이트 로컬 복사용 버퍼(bounce buffer)에 읽고, 반환된 길이를 검증한 후, 정확히 ADM1266_BLACKBOX_SIZE 바이트만 dev_mem 슬롯으로 복사합니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.