CVE-2025-71070 in Linux
요약
\~에 의해 VulDB • 2026. 05. 21.
리눅스 커널에서 다음 취약점이 해결되었습니다:
ublk: ublk 서버 종료 시 사용자 복사 참조 정리
ublk 서버 프로세스가 ublk 문자 장치 파일을 해제하면, ublk 서버로 전달되었지만 아직 완료되지 않은 모든 요청은 UBLK_REFCOUNT_INIT 값의 참조 카운트를 유지합니다. 커밋 e63d2228ef83("ublk: ublk 요청 중단 단순화") 이전에는 __ublk_fail_req()가 실패한 요청을 완료하기 전에 참조 카운트를 감소시켰습니다. 그러나 해당 커밋은 요청 참조 카운트를 감소시키지 않고 __ublk_complete_rq()를 직접 호출하도록 __ublk_fail_req()를 최적화했습니다.
누수된 참조 카운트는 완료된 ublk 요청에 대해 잘못된 사용자 복사 및 제로 복사 작업을 허용합니다. 또한 ublk_queue_reinit() 및 ublk_deinit_queue()에서 WARN_ON_ONCE(refcount_read(&io->ref)) 경고를 발생시킵니다.
커밋 c5c5eb24ed61("ublk: ublk 문자 장치 닫기 후 ublk_io_release() 호출 방지")은 이미 UBLK_F_SUPPORT_ZERO_COPY 또는 UBLK_F_AUTO_BUF_REG를 사용하는 ublk 장치에 대해 이 문제를 수정했습니다. 그러나 참조 카운트 누수는 다른 참조 카운트 기반 데이터 복사 모드인 UBLK_F_USER_COPY에도 영향을 미칩니다. ublk_check_and_reset_active_ref()의 조건을 모든 참조 카운트 기반 데이터 복사 모드를 포함하도록 수정하여, 서버가 종료될 때 여전히 ublk 서버가 소유한 모든 ublk 요청의 참조 카운트가 0으로 재설정되도록 합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.