🇰🇷 한글 설명
Linux 커널의 FUSE 구성 요소에서 FUSE_NOTIFY_RETRIEVE 요청이 최신 상태가 아닌(not uptodate) folio를 포함할 수 있는 취약점이 발견되었습니다. 이로 인해 초기화되지 않은 데이터가 노출될 수 있으며, 이는 페이지 할당 시 자동 초기화 설정이 되어 있지 않은 시스템에서 보안 위협이 됩니다.
💡 쉬운 설명
컴퓨터 메모리의 일부 데이터가 제대로 지워지지 않은 채로 사용자에게 전달될 수 있는 문제입니다. 이로 인해 이전에 사용되었던 민감한 정보가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
fuse: limit FUSE_NOTIFY_RETRIEVE to uptodate folios
FUSE_NOTIFY_RETRIEVE must be limited to uptodate folios; !uptodate folios
can contain uninitialized data.
Since FUSE_NOTIFY_RETRIEVE is intended to only return data that is already
in the page cache and not wait for data from the FUSE daemon, treat
!uptodate folios as if they weren't present.
This only has security impact on systems that don't enable automatic
zero-initialization of all page allocations via
CONFIG_INIT_ON_ALLOC_DEFAULT_ON or init_on_alloc=1.
📍 영향받는 시스템
CONFIG_INIT_ON_ALLOC_DEFAULT_ON 또는 init_on_alloc=1 설정이 활성화되지 않은 Linux 커널 시스템
⚔️ 공격 벡터
FUSE 파일 시스템을 통해 초기화되지 않은 페이지 캐시 데이터에 접근하여 메모리 내 민감 정보를 탈취
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하거나, 커널 파라미터에 init_on_alloc=1 설정을 적용합니다.
🔧 검증 코드
명령어 결과에 CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y 또는 cmdline에 init_on_alloc=1이 포함되어 있는지 확인합니다.
grep -E 'CONFIG_INIT_ON_ALLOC_DEFAULT_ON|init_on_alloc' /boot/config-$(uname -r) /proc/cmdline 2>/dev/null