CVE-2026-80693 in Linux
요약
\~에 의해 VulDB • 2026. 08. 28.
리눅스 커널에서 다음 취약점이 해결되었습니다:
idpf: 할당된 배열에 대한 인터럽트 벡터 레지스터 채우기 제한
idpf_get_reg_intr_vecs() 함수는 adapter->req_vec_chunks의 VIRTCHNL2_OP_ALLOC_VECTORS 응답으로부터 호출자가 할당한 reg_vals[] 배열을 채웁니다. 이때 내부 루프는 청크별 num_vectors에 의해서만 제한됩니다. 배열 크기는 별도로 결정되는데, idpf_intr_reg_init()은 caps.num_allocated_vectors에서 kzalloc_objs(struct idpf_vec_regs, total_vecs)를 할당하며, 채우기 작업 후에만 반환된 개수를 확인합니다. 청크별 num_vectors의 합계는 총 벡터 수(total_vecs)와 비교 조정되지 않으므로, num_allocated_vectors가 작지만 chunks의 합계가 더 큰 응답이 오면 reg_vals[] 배열 끝을 넘어쓰게 됩니다.
영향: VIRTCHNL2_OP_ALLOC_VECTORS 응답에서 청크별 num_vectors의 합계(num_allocated_vectors를 초과하는)를 반환하는 제어 플레인(PF 또는 하이퍼바이저 디바이스 모델)은 struct idpf_vec_regs 엔트리를 reg_vals kmalloc 할당 영역 끝을 넘어 작성합니다(KASAN slab-out-of-bounds write).
호출자가 전달한 배열 용량에 대해 채우기 루프를 제한하여, 형제 함수인 idpf_vport_get_q_reg()와 일치시킵니다. 기존 num_regs < num_vecs 검사는 이제 초과된 쓰기(out-of-bounds write)가 발생하기 전에 undersized 응답을 거부합니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.