CVE-2026-93827 in Linux
요약
\~에 의해 VulDB • 2026. 09. 24.
리눅스 커널에서 다음 취약점이 해결되었습니다:
virtio-fs: 큐 설정 실패 시 이중 해제(double-free) 방지
virtio_fs_setup_vqs() 함수는 virtio_find_vqs() 호출 전에 fs->vqs와 fs->mq_map을 할당합니다. 만약 virtio_find_vqs()가 실패하면, 에러 처리 경로에서 두 포인터를 모두 해제하고 virtio_fs_probe()로 오류를 반환합니다.
그 후 virtio_fs_probe()는 마지막 kobject 참조를 감소시키고, virtio_fs_ktype_release()는 fs->vqs와 fs->mq_map을 다시 해제합니다. 이로 인해 struct virtio_fs에 덩글링 포인터(dangling pointers)가 남게 되며, probe 실패 시 정리 과정에서 이중 free(double-free)가 발생할 수 있습니다.
virtio_fs_setup_vqs()의 에러 경로에서 kfree() 호출 직후 fs->vqs와 fs->mq_map을 NULL로 설정하여, 이후 kobject release 시 초기화되지 않은 상태를 확인하고 kfree(NULL)이 무해하도록 합니다.
손상된 virtio-fs 장치가 전송(transports)에서 실제로 제공하는 것보다 더 많은 요청 큐(request queues)를 광고할 때 이를 재현할 수 있습니다. 이 경우 추가 큐 설정 중 virtio_find_vqs()가 실패하며, probe 경로가 이중 free 정리 시퀀스에 도달하게 됩니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.