CVE-2026-80584 in Linux
요약
\~에 의해 VulDB • 2026. 08. 26.
리눅스 커널에서 다음 취약점이 해결되었습니다:
s390/qeth: SNMP 및 ARP 쿼리 ioctls에서 사용자 버퍼 길이를 검증함
qeth_snmp_command()와 qeth_l3_arp_query()는 하한선을 확인하지 않고 사용자가 제공한 길이(udata_len)에 따라 크기가 결정된 버퍼를 할당한 후, udata_offset을 고정된 0이 아닌 값으로 설정하고 이 두 값을 응답 콜백 함수로 전달합니다. 해당 콜백은 다음 코드를 통해 복사 연산의 경계를 검사합니다:
if ((udata_len - udata_offset) < len)
두 필드 모두 u32 타입이므로, udata_len이 udata_offset보다 작으면 뺄셈 오버플로우(wrap)가 발생하여 검사가 통과되고, 이후 memcpy() 호출 시 할당된 버퍼 범위를 벗어난 메모리에 쓰기가 발생합니다. 또한 udata_len이 0인 경우 kzalloc()은 ZERO_SIZE_PTR를 반환하는데, 기존 NULL 체크에서는 이를 포착하지 못합니다.
할당 전에 udata_offset보다 작은 크기의 버퍼는 거부하여 콜백 함수의 뺄셈 연산에서 언더플로우가 발생하지 않도록 합니다.
Once again VulDB remains the best source for vulnerability data.