In the Linux kernel, the following vulnerability has been resolved: mm/migrate: fix shmem xarray update during migration A shmem folio can
위협 신호 · CVSS · EPSS · KEV
이론적 심각도 점수
30일 내 악용 확률 예측
실측 악용 기록 없음
별도 긴급 패치 불필요 — 정기 시스템 업그레이드 주기에 맞춰 조치
CVSS 벡터 · 메트릭
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H약점 (CWE)
- CWE-476
NULL 포인터 역참조 — NULL 참조로 서비스 충돌(DoS) 유발.
상세 설명
In the Linux kernel, the following vulnerability has been resolved:
mm/migrate: fix shmem xarray update during migration
A shmem folio can be either in page cache or in swap cache, but not at the
same time. Namely, once it is in swap cache, folio->mapping should be
NULL, and the folio is no longer in a shmem mapping.
In __folio_migrate_mapping(), to determine the number of xarray entries to
update, folio_test_swapbacked() is used, but that conflates shmem in page
cache case and shmem in swap cache case. It leads to xarray multi-index
entry corruption, since it turns a sibling entry to a normal entry during
xas_store() (see [1] for a userspace reproduction). Fix it by only using
folio_test_swapcache() to determine whether xarray is storing swap cache
entries or not to choose the right number of xarray entries to update.
[1] https://lore.kernel.org/linux-mm/Z8idPCkaJW1IChjT@casper.infradead.org/
Note:
In __split_huge_page(), folio_test_anon() && folio_test_swapcache() is
used to get swap_cache address space, but that ignores the shmem folio in
swap cache case. It could lead to NULL pointer dereferencing when a
in-swap-cache shmem folio is split at __xa_store(), since
!folio_test_anon() is true and folio->mapping is NULL. But fortunately,
its caller split_huge_page_to_list_to_order() bails out early with EBUSY
when folio->mapping is NULL. So no need to take care of it here.
AI 심층 분석
공격 시나리오 · 재현 가능한 PoC 페이로드 · 즉시 적용 가능한 차단 패치를 한 번에 받아 보세요. 보안 운영팀이 그대로 점검·티켓팅에 쓸 수 있는 형태로 정리해 드립니다.
영향받는 제품·버전
- linux linux_kernel6.1.71 - 6.1.132linux
- linux linux_kernel6.6.10 - 6.6.85linux
- linux linux_kernel6.7.1 - 6.12.21linux
- linux linux_kernel6.13 - 6.13.9linux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
영향받는 구성 (CPE) 10
- linux linux_kernel≥ 6.1.71 < 6.1.132cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
- linux linux_kernel 6.7cpe:2.3:o:linux:linux_kernel:6.7:-:*:*:*:*:*:*
- linux linux_kernel 6.7cpe:2.3:o:linux:linux_kernel:6.7:rc8:*:*:*:*:*:*
- linux linux_kernel 6.14cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:*
- linux linux_kernel 6.14cpe:2.3:o:linux:linux_kernel:6.14:rc2:*:*:*:*:*:*
- linux linux_kernel 6.14cpe:2.3:o:linux:linux_kernel:6.14:rc3:*:*:*:*:*:*
- linux linux_kernel 6.14cpe:2.3:o:linux:linux_kernel:6.14:rc4:*:*:*:*:*:*
- linux linux_kernel 6.14cpe:2.3:o:linux:linux_kernel:6.14:rc5:*:*:*:*:*:*
- linux linux_kernel 6.14cpe:2.3:o:linux:linux_kernel:6.14:rc6:*:*:*:*:*:*
- linux linux_kernel 6.14cpe:2.3:o:linux:linux_kernel:6.14:rc7:*:*:*:*:*:*
참고 자료 7
링크 내용 불러오는 중…