CVE-2026-31787
xen/privcmd: VMA 분할을 통한 이중 해제(double free) 수정
- 게시됨
- 2026. 4. 30.
- 업데이트됨
- 2026. 6. 14.
- CNA 할당 중
- Linux
- 증거 관찰됨
- 2026. 9. 4.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H낮음 · 다음 30일
- 백분위수
- 8.2%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
# Linux 커널에서 다음 취약점이 해결되었습니다: xen/privcmd: VMA 분할을 통한 이중 해제(double free) 수정 privcmd_vm_ops는 .close(privcmd_close)를 정의하지만 .may_split이나 .open은 정의하지 않습니다. 사용자 공간이 privcmd 매핑에 대해 부분적인 munmap()을 수행하면 커널은 __split_vma()를 통해 VMA를 분할합니다. may_split이 NULL이므로 분할이 허용됩니다. vm_area_dup()는 .open 콜백이 없기 때문에 아무런 수정 없이 vm_private_data(alloc_empty_pages()에서 할당된 pages 배열)를 새 VMA로 복사합니다. 이제 두 VMA 모두 동일한 pages 배열을 가리킵니다. 매핑 해제된 부분이 닫히면 privcmd_close()가 다음을 호출합니다: - xen_unmap_domain_gfn_range() - xen_free_unpopulated_pages() - kvfree(pages) 살아남은 VMA는 여전히 댕글링 포인터를 보유합니다. 이후에 이 VMA가 소멸되면 동일한 시퀀스가 다시 실행되어 이중 해제(double free)가 발생합니다. VMA 분할을 거부하는 .may_split 콜백을 추가하여 이 문제를 해결합니다. 이는 XSA-487 / CVE-2026-31787입니다.
소스
1리눅스 커널의 Xen privcmd 드라이버에서 이중 해제(double free) 취약점
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.