CVE-2022-50675 in Linux정보

요약

\~에 의해 VulDB • 2026. 06. 10.

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

arm64: mte: 태그가 지워지거나 복원되지 않은 경우 PG_mte_tagged 설정 방지

커밋 69e3b846d8a7("arm64: mte: PTE가 태그 없는 페이지에 대한 태그 동기화") 이전에는 `mte_sync_tags()`가 오직 pte_tagged() 엔트리에 대해서만 호출되었습니다(즉, PROT_MTE로 매핑된 경우). 따라서 `mte_sync_tags()`는 실수로 태그 없는 페이지에 PG_mte_tagged를 설정하지 않으면서도 `test_and_set_bit(PG_mte_tagged, &page->flags)`를 안전하게 사용할 수 있었습니다.

위 커밋은 게스트가 스테이지 2 매핑이나 VMM 내의 PROT_MTE 매핑 없이 MTE를 활성화할 수 있기 때문에 필요했습니다. 그러나 그 부작용으로 스왑(또는 마이그레이션)처럼 보이는 PTE를 가진 모든 페이지에 PG_mte_tagged가 자동으로 설정되었습니다. 이후 페이지 복사(예: 마이그레이션) 시 KASAN이 소유한 태그라도 목적지 페이지로 태그가 복사되었습니다.

커밋 e5b8d9218951("arm64: mte: page->flags에서 페이지 태그 재설정")에서 도입된 `page_kasan_tag_reset()` 호출로 인해 이 문제는 가려졌습니다. 해당 커밋이 되돌려졌을 때(207945c146), KASAN은 페이지의 덮어쓰기 태그가 원래 page->flags와 일치하지 않아 접근 오류를 보고하기 시작했습니다(CONFIG_KASAN_HW_TAGS=y):

BUG: KASAN: invalid-access in copy_page+0x10/0xd0 arch/arm64/lib/copy_page.S:26 Read at addr f5ff000017f2e000 by task syz-executor.1/2218 Pointer tag: [f5], memory tag: [f2]

PG_mte_tagged 비트 설정을 `mte_sync_tags()`에서 태그가 실제로 지워지는 곳(`mte_sync_page_tags()`) 또는 복원되는 곳(`mte_restore_tags()`)으로 이동했습니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

책임이 있는

Linux

예약하다

2025. 12. 09.

모더레이션

수락

항목

VDB-334942

EPSS

0.00211

출처

Do you know our Splunk app?

Download it now for free!