🔍 CVE-2026-43389

5.5
CVSS Score
MEDIUM
2026-05-08
2026-05-26 15:01
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 memfd_luo에서 메모리 페이지(folio) 더티 상태를 잘못 추적하여, 실제로는 수정된 데이터가 미수정으로 표시되는 문제입니다. 메모리 부족 시 커널이 이 데이터를 회수하려 하면서 사용자 데이터가 손실됩니다. 모든 folio를 항상 더티로 표시하도록 수정되었습니다.

💡 쉬운 설명

시스템이 메모리를 저장할 때 어떤 데이터가 변경되지 않았다고 잘못 생각해서, 메모리 부족 시 그 데이터를 지워버리는 버그입니다. 이제는 이런 데이터를 항상 보존해야 한다고 표시하도록 고쳐졌습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: mm: memfd_luo: always dirty all folios A dirty folio is one which has been written to. A clean folio is its opposite. Since a clean folio has no user data, it can be freed under memory pressure. memfd preservation with LUO saves the flag at preserve(). This is problematic. The folio might get dirtied later. Saving it at freeze() also doesn't work, since the dirty bit from PTE is normally synced at unmap and there might still be mappings of the file at freeze(). To see why this is a problem, say a folio is clean at preserve, but gets dirtied later. The serialized state of the folio will mark it as clean. After retrieve, the next kernel will see the folio as clean and might try to reclaim it under memory pressure. This will result in losing user data. Mark all folios of the file as dirty, and always set the MEMFD_LUO_FOLIO_DIRTY flag. This comes with the side effect of making all clean folios un-reclaimable. This is a cost that has to be paid for participants of live update. It is not expected to be a common use case to preserve a lot of clean folios anyway. Since the value of pfolio->flags is a constant now, drop the flags variable and set it directly.

📍 영향받는 시스템

Linux kernel versions with Live Update Operations (LUO) memfd support

⚔️ 공격 벡터

Memory pressure-induced data loss during memfd preservation in live kernel updates

🛡️ 대응 방법

Linux 커널 업데이트 적용 (memfd_luo folio dirty flag 항상 설정하는 패치)

🔧 검증 코드

커널 버전 확인 후, 패치가 포함된 최신 안정 버전(5.17+)으로 업데이트 여부 검증

Shell / Script
uname -r && cat /proc/version | grep -oP 'version \K[^ ]+'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel