🇰🇷 한글 설명
Linux 커널의 ublk 구성 요소에서 자동 버퍼 등록(UBLK_F_AUTO_BUF_REG) 사용 시 유효하지 않은 주소로 인해 발생하는 취약점입니다. 명령이 완료된 후에도 태그가 활성 상태로 남아 있어 시스템 종료(teardown) 과정에서 프로세스가 멈추는(hang) 현상이 발생할 수 있습니다.
💡 쉬운 설명
리눅스 시스템의 특정 데이터 처리 기능에서 잘못된 주소 값이 입력될 경우, 컴퓨터가 작업을 마무리하지 못하고 멈춰버릴 수 있는 문제입니다. 이는 시스템의 안정성을 해칠 수 있는 결함입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ublk: validate auto buf reg before taking uring_cmd
With UBLK_F_AUTO_BUF_REG, invalid sqe->addr can fail after
ublk_fill_io_cmd() has set UBLK_IO_FLAG_ACTIVE. The uring_cmd is
completed while the tag stays active, which can hang teardown.
Split validation from buffer apply so the check has no side effects,
then take the uring_cmd and store the already-validated buffer. Apply
the same order in FETCH so io->buf is not written before __ublk_fetch()
state checks.
📍 영향받는 시스템
UBLK 기능을 사용하는 Linux Kernel (패치 적용 전 버전)
⚔️ 공격 벡터
유효하지 않은 메모리 주소를 포함한 uring_cmd를 전송하여 시스템 정지 유도
🛡️ 대응 방법
UBLK 버퍼 검증 로직이 수정된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전인지 확인