🇰🇷 한글 설명
Linux 커널의 fastrpc 구성 요소에서 호출이 신호에 의해 중단될 때 mmaps를 이동하는 과정 중 fl->lock을 획득하지 않는 취약점이 발견되었습니다. 이로 인해 fastrpc_req_mmap() 및 fastrpc_req_munmap() 함수에서 사용하는 잠금 메커니즘과 동기화되지 않아 데이터 무결성 문제가 발생할 수 있습니다.
💡 쉬운 설명
시스템 작업이 중간에 끊길 때 데이터를 안전하게 옮기기 위한 '잠금 장치'를 사용하지 않아 데이터가 꼬일 수 있는 문제입니다. 이로 인해 시스템이 불안정해지거나 예기치 않은 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
misc: fastrpc: take fl->lock when moving mmaps on interrupted invoke
When an invoke is interrupted by a signal,
wait_for_completion_interruptible() returns -ERESTARTSYS and
fastrpc_internal_invoke() moves every buffer from fl->mmaps onto
cctx->invoke_interrupted_mmaps. This list_del()/list_add_tail() walk
runs without holding fl->lock, the lock that serialises fl->mmaps in
fastrpc_req_mmap() and fastrpc_req_munmap() everywhere else.
Take fl->lock around the move, matching every other fl->mmaps accessor.
📍 영향받는 시스템
Linux Kernel (fastrpc 모듈이 포함된 버전)
⚔️ 공격 벡터
신호(Signal)를 이용해 fastrpc 호출을 의도적으로 중단시켜 메모리 관리 목록의 동기화 오류를 유도
🛡️ 대응 방법
fastrpc 관련 메모리 이동 작업 시 fl->lock을 획득하도록 커널 패치를 적용
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인