CVE-2026-89856 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 16.

리눅스 커널에서 다음 취약점이 해결되었습니다:

scsi: qla2xxx: MSI-X 기반 큐 카운트의 절단(truncation) 방지를 위해 클램핑(clamp) 처리

ha->msix_count는 u16 타입이지만, ha->max_req_queues, ha->max_rsp_queues 및 ha->max_qpairs는 u8입니다. "ha->max_req_queues = ha->msix_count - 1"와 같이 큐 카운트를 유도할 경우 절단이 발생합니다: 257개의 MSI-X 벡터를 광고하는 보드(또는 잘못 구성되거나 악의적인 핫플러그 장치)의 경우 msix_count - 1 == 256이 되며, 이는 0으로 절단됩니다. MSI-X 카운트가 1인 경우도 이를 0으로 만듭니다. 또한 타겟 모드에서 후속 "ha->max_req_queues--" 연산은 0을 언더플로우시켜 255가 됩니다.

카운트가 0일 때, qla2x00_alloc_queues()는 kzalloc_objs(struct req_que *, 0)를 호출하며 이는 ZERO_SIZE_PTR를 반환합니다. 이는 NULL이 아니므로 할당 확인이 통과하고, 후속 "ha->req_q_map[0] = req"가 ZERO_SIZE_PTR를 역참조하여 메모리를 손상시키거나 커널을 크래시(shut down/crash)시킬 수 있습니다.

유도된 값이 [1, QLA_MAX_QUEUES - 1] 범위 내에 있도록 클램핑하는 qla_calc_queue_count() 함수를 추가하여 항상 u8에 맞고 0이 되지 않도록 하며, 모든 세 가지 유도 지점(qla25xx_iospace_config(), qla83xx_iospace_config() 및 qla24xx_enable_msix())에서 이를 사용합니다. 또한 타겟 모드 감소 연산을 보호하여 다시 0을 도입하지 못하도록 하여(max_qpairs의 언더플로우를 방지합니다).

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

Linux

예약하다

2026. 09. 11.

모더레이션

수락

항목

VDB-405673

EPSS

0.00000

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!