CVE-2026-90424 in Linux
요약
\~에 의해 VulDB • 2026. 09. 18.
리눅스 커널에서 다음 취약점이 해결되었습니다:
iommu/tegra241-cmdqv: 초기화 실패 경로에서의 VINTF0 누수 수정
tegra241_cmdqv_init_structures()는 kzalloc_obj()를 사용하여 VINTF0을 할당하고, 이를 초기화하며 논리적 VCMDQ들을 사전 할당합니다. 두 가지 오류 경로에서 누수가 발생합니다.
tegra241_cmdqv_init_vintf()가 실패할 경우 cmdqv->vintfs[] 배열에 도달하기 전에 반환되므로, probe 실패 시 devres 언와인드(unwind)는 이를 처리할 수 없습니다; 따라서 해당 위치에서 직접 해제합니다.
나중에 VCMDQ 사전 할당에 실패하면 VINTF0이 게시(published)된 상태로 남게 되며, 이 경우 언와인드가 tegra241_cmdqv_remove_vintf()에 도달하여 vintf->hyp_own으로부터 이를 해제합니다. 그러나 tegra241_vintf_hw_init()는 HW 읽기 백백(read-back)을 통해 나중에 해당 플래그를 설정하므로, 아직 초기화되지 않은 VINTF0은 게스트 소유로 판별되어 누수되며, mutex_destroy() 및 ida_destroy()가 설정되지 않은 필드에서 실행됩니다.
vintf->idx(아이디 할당 시 부여된 인덱스)에 기반하여 소유권을 결정합니다: idx 0은 커널 소유 VINTF0이며, idx >= 1은 게스트 VINTF를 나타냅니다. 따라서 tegra241_cmdqv_remove_vintf() 및 tegra241_vintf_free_lvcmdq() 내의 커널 내부 해제 결정도 이제 idx에 기반하며, hyp_own은 순수한 HW 읽기 백백 상태로 유지됩니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.