🇰🇷 한글 설명
리눅스 커널의 USB gadget ffs 구성 요소에서 mm_struct 참조 관리 오류로 인해 Use-After-Free 취약점이 발생합니다. 비동기 요청이 처리되는 동안 작업(task)의 메모리 구조체에 대한 참조를 유지하지 않아, 작업 종료 시 메모리 오류가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터가 USB 작업을 처리하는 동안 해당 작업을 수행하던 프로그램이 갑자기 종료되면, 이미 사라진 메모리 주소를 다시 사용하려고 시도하여 시스템 오류나 보안 문제가 생길 수 있습니다. 이를 방지하기 위해 작업이 끝날 때까지 메모리를 안전하게 붙잡아두도록 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
USB: gadget: ffs: fix mm lifetime handling
io_data stores a pointer to the submitting task's mm_struct,
but does not currently hold a reference to it while async
requests are pending.
This can result in a use-after-free if the task exits before
completion handling finishes.
Take a reference with mmgrab() when queuing the read request
and release it with mmdrop() on request completion.
📍 영향받는 시스템
Linux Kernel (USB gadget ffs 관련 모듈 사용 시스템)
⚔️ 공격 벡터
비동기 USB 요청을 처리하는 과정에서 특정 프로세스를 강제로 종료시켜 메모리 참조 오류 유도
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트 (mmgrab 및 mmdrop 로직이 포함된 버전)
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인