🇰🇷 한글 설명
리눅스 커널에서 open_tree_attr(2) 호출 시 OPEN_TREE_CLONE 플래그 없이도 ID 매핑 변경이 가능했던 취약점입니다. 이로 인해 분리된 마운트 지점의 ID 매핑을 변경할 수 있어, Use-After-Free(UAF) 및 잠금(locking) 관련 보안 문제가 발생할 위험이 있습니다.
💡 쉬운 설명
시스템의 파일 권한을 관리하는 규칙을 허가되지 않은 방식으로 바꿀 수 있는 결함입니다. 이 결함을 이용하면 시스템 메모리 오류를 일으키거나 보안 통제를 우회할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
open_tree_attr: do not allow id-mapping changes without OPEN_TREE_CLONE
As described in commit 7a54947e727b ('Merge patch series "fs: allow
changing idmappings"'), open_tree_attr(2) was necessary in order to
allow for a detached mount to be created and have its idmappings changed
without the risk of any racing threads operating on it. For this reason,
mount_setattr(2) still does not allow for id-mappings to be changed.
However, there was a bug in commit 2462651ffa76 ("fs: allow changing
idmappings") which allowed users to bypass this restriction by calling
open_tree_attr(2) *without* OPEN_TREE_CLONE.
can_idmap_mount() prevented this bug from allowing an attached
mountpoint's id-mapping from being modified (thanks to an is_anon_ns()
check), but this still allows for detached (but visible) mounts to have
their be id-mapping changed. This risks the same UAF and locking issues
as described in the merge commit, and was likely unintentional.
📍 영향받는 시스템
ID 매핑 변경 기능이 포함된 특정 리눅스 커널 버전
⚔️ 공격 벡터
OPEN_TREE_CLONE 플래그를 사용하지 않고 open_tree_attr(2) 시스템 호출을 수행하여 제한된 ID 매핑 변경 시도
🛡️ 대응 방법
해당 취약점이 수정된 최신 리눅스 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 버전인지 커널 보안 공지(Changelog)와 대조하여 확인