🇰🇷 한글 설명
Linux 커널의 btrfs 파일시스템에서 io_uring 인코딩 데이터 처리 중 -EAGAIN 반환 시 메모리 누수가 발생하는 문제가 수정되었습니다. 요청이 취소되거나 링이 종료될 때 드라이버 PDU 할당이 해제되지 않아 자원이 누수될 수 있었습니다. 쓰기와 읽기 경로 모두에서 해당 할당을 적절히 해제하도록 변경되었습니다.
💡 쉬운 설명
리눅스 파일 시스템의 고속 입출력 기능에서 사용하던 메모리가 제대로 정리되지 않는 버그입니다. 이로 인해 시간이 지나면 시스템 메모리가 조금씩 낭비될 수 있었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
btrfs: don't stash io_uring encoded data across -EAGAIN
Returning -EAGAIN while leaving btrfs_uring_encoded_data in the cmd PDU
leaks if the request is cancelled or the ring exits before reissue.
io_uring does not free driver PDU allocations on cleanup.
Write: io_queue_sqe() always issues with IO_URING_F_NONBLOCK first, so
return -EAGAIN before allocating and free data on every exit.
Read: free on nowait -EAGAIN too; only -EIOCBQUEUED keeps the allocation
for btrfs_uring_read_finished().
📍 영향받는 시스템
패치가 적용되기 이전의 btrfs 파일시스템 및 io_uring 인코딩 기능을 사용하는 Linux 커널 버전 (정확한 영향 범위는 커널 릴리스 노트 확인 필요)
⚔️ 공격 벡터
CVSS 점수가 0.0으로 공개 평가가 없으며, 공격자가 로컬에서 io_uring 요청을 반복 생성해 메모리 누수를 유발할 가능성이 있는 수준으로 추정됩니다.
🛡️ 대응 방법
배포판 제공 최신 커널로 업데이트하거나 해당 수정이 포함된 커널 버전으로 재부팅하세요.
🔧 검증 코드
출력된 커널 버전을 배포판의 보안 권고나 커널 changelog와 비교해 수정 포함 여부를 확인하며, 해당 패치 버전 이상이면 조치가 완료된 것입니다.