🇰🇷 한글 설명
Linux 커널의 btrfs 파일시스템에서 io_uring 기반 암호화/압축 extent 읽기 경로의 버그가 수정되었습니다. I/O가 동기적으로 먼저 완료되면 음수 errno가 반환되어 같은 자원이 두 번 해제(unlock/free)될 수 있었으며, 이제 -EIOCBQUEUED를 반환해 지연 경로에서만 정리되도록 변경되었습니다.
💡 쉬운 설명
리눅스 파일 시스템(btrfs)의 데이터 읽기 과정에서 같은 정리 작업이 두 번 실행되던 문제입니다. 이로 인해 메모리 오류가 발생해 시스템이 불안정해질 수 있었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
btrfs: always return -EIOCBQUEUED after btrfs_uring_read_extent_endio
If all bios finish before btrfs_encoded_read_regular_fill_pages()
returns, it calls btrfs_uring_read_extent_endio() and previously
returned the I/O status. A negative errno then made
btrfs_uring_read_extent() unlock and free while
btrfs_uring_read_finished() did the same again.
Return -EIOCBQUEUED so only the deferred path cleans up.
📍 영향받는 시스템
btrfs 파일시스템을 사용하는 수정 이전 Linux 커널 버전 (정확한 영향 버전은 확인 필요)
⚔️ 공격 벡터
공개된 정보상 원격 공격 경로는 명시되지 않았으며, 로컬 사용자가 io_uring으로 특정 읽기 작업을 유발해 메모리 오류를 일으킬 가능성이 있음
🛡️ 대응 방법
배포판에서 제공하는 최신 커널 업데이트를 적용하고 재부팅
🔧 검증 코드
출력된 커널 버전을 배포판 보안 공지 또는 패치된 커널 버전과 비교하여, 해당 수정이 포함된 버전인지 확인