🇰🇷 한글 설명
Linux 커널의 overlayfs(ovl_do_mkdir) 디버그 출력 코드에서 use-after-free(UAF) 취약점이 수정되었습니다. vfs_mkdir() 호출 후 입력 dentry를 %pd로 출력하는데, 해당 함수가 실패 시 dentry를 해제하거나 성공 시 교체할 수 있어 CONFIG_OVERLAY_FS_DEBUG 활성화 시 메모리 손상이 발생할 수 있습니다. 수정으로 호출 전에 dentry를 출력하도록 변경되었습니다.
💡 쉬운 설명
리눅스 커널의 디버그 기능에서 이미 해제된 메모리를 참조하던 문제가 수정되었습니다. 디버그 기능이 켜진 특수한 설정에서만 시스템 불안정이나 오류가 발생할 수 있었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ovl: fix UAF in ovl_do_mkdir() debug print
ovl_do_mkdir() prints the input dentry with %pd after vfs_mkdir().
Since commit fe497f0759e0 ("VFS: change vfs_mkdir() to unlock on
failure."), vfs_mkdir() calls end_creating() on the input dentry on
failure and may replace it on success, so the post-call %pd can
use-after-free the dentry when CONFIG_OVERLAY_FS_DEBUG is enabled.
Print the dentry before the call and only the result afterward.
📍 영향받는 시스템
CONFIG_OVERLAY_FS_DEBUG가 활성화된 Linux 커널 (commit fe497f0759e0 이후 버전)
⚔️ 공격 벡터
로컬 사용자가 overlayfs 디렉터리 생성 작업을 유발하여 해제된 메모리 접근을 시도할 수 있으며, 디버그 옵션이 활성화된 경우에만 해당됩니다.
🛡️ 대응 방법
배포판 제공 최신 커널 업데이트를 적용하거나 해당 수정 커밋이 포함된 커널로 업그레이드하세요.
🔧 검증 코드
커널 버전을 확인하고 CONFIG_OVERLAY_FS_DEBUG=y가 출력되면 디버그 기능이 활성화된 상태이므로 수정된 커널 업데이트 적용이 필요하며, 출력이 없거나 is not set이면 영향이 없습니다.
uname -r && grep CONFIG_OVERLAY_FS_DEBUG /boot/config-$(uname -r) 2>/dev/null