🇰🇷 한글 설명
Linux 커널의 crash_dump 과정에서 dm-crypt 키를 복구할 때 키링 참조 횟수(refcount)를 잘못 관리하는 취약점이 발견되었습니다. 여러 개의 키가 복구될 경우 참조 횟수가 과도하게 감소하여 참조 횟수 언더플로우(underflow) 또는 Use-After-Free(UAF) 오류를 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터가 암호화 키를 다시 불러오는 과정에서 메모리 관리 규칙을 어겨 시스템이 불안정해질 수 있는 문제입니다. 이로 인해 시스템이 갑자기 멈추거나 보안상 취약한 상태가 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
crash_dump: release keyring reference at the correct time
restore_dm_crypt_keys_to_thread_keyring() gets a reference to the user
keyring before restoring the saved dm-crypt keys.
The same keyring reference is then passed to add_key_to_keyring() for each
saved key, but add_key_to_keyring() drops that reference on every call.
This is only balanced when exactly one key is restored. With multiple
keys, the keyring reference is dropped too many times and may trigger a
refcount underflow or use-after-free.
When more than five keys are restored, a refcount underflow/use-after-free
warning can be triggered.
The early error paths after lookup_user_key() also return without dropping
the keyring reference.
Keep ownership of the keyring reference in
restore_dm_crypt_keys_to_thread_keyring(), drop it once on all exit paths,
and make add_key_to_keyring() only use the reference without consuming it.
📍 영향받는 시스템
Linux Kernel (dm-crypt 및 crash_dump 관련 기능 사용 시)
⚔️ 공격 벡터
로컬 공격자가 특정 조건(5개 이상의 dm-crypt 키 복구 상황 등)을 유도하여 메모리 오류를 발생시킴
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.