🇰🇷 한글 설명
Linux 커널의 KVM s390 PCI 구현에서 메모리 계정 방식의 오류로 인해 사용자 구조체(user_struct)의 참조 횟수가 적절히 감소되지 않는 취약점이 발견되었습니다. 이로 인해 메모리 누수가 발생할 수 있으며, 페이지 고정 및 해제 시 프로세스 컨텍스트 불일치 문제가 존재했습니다.
💡 쉬운 설명
컴퓨터가 메모리를 사용한 뒤 사용 기록을 제대로 지우지 않아 메모리가 계속 쌓이는 문제가 있었습니다. 이로 인해 시스템의 메모리가 점차 부족해질 수 있는 결함입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
KVM: s390: pci: Fix memory accounting for pinned/unpinned pages
The account_mem() and unaccount_mem() functions call get_uid() which
increments the reference count of struct user_struct on every invocation.
But we don't decrement the count by calling free_uid(). It also
accounted/unaccounted the pages against the current->mm. But its possible
the unaccount_mem() can be called from a different process context than the
one that originally pinned the pages.
Let's fix this by storing the pinning process user_struct and mm_struct
when accounting for pinned pages, and subsequently free these resources
when the pages are unpinned.
[
[email protected]: Fixed whitespace]
📍 영향받는 시스템
s390 아키텍처를 사용하는 Linux 커널 (KVM 모듈 포함)
⚔️ 공격 벡터
특정 메모리 관리 작업을 반복적으로 수행하여 시스템 자원을 고갈시키는 방식 (DoS 가능성)
🛡️ 대응 방법
메모리 고정 시 사용자 및 메모리 구조체를 저장하고 해제 시 이를 명시적으로 해제하도록 커널 패치 적용
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 최신 패치 버전인지 확인합니다.
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux