CVE-2026-64535 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 27.

리눅스 커널에서 다음 취약점이 해결되었습니다:

nvmet-tcp: ddgst 불일치 시 잠재적 UAF(Use-After-Free) 수정

Shivam Kumar가 취약점 테스트를 통해 발견한 내용입니다: NVMe/TCP 연결에서 데이터 다이제스트가 활성화되어 있고 R2T 기반 데이터 전송 중 최종이 아닌 H2C_DATA PDU에서 다이제스트 불일치가 발생하면, nvmet_tcp_try_recv_ddgst() 내의 다이제스트 오류 처리기가 nvmet_req_uninit()을 호출합니다. 이 함수는 제출 큐(submission queue)에 대해 percpu_ref_put()를 수행하지만 명령어를 완료된 것으로 표시하지 않습니다. 즉, cqe->status를 설정하지 않고, rbytes_done을 수정하지 않으며, 어떤 플래그도 지우지 않습니다. 이후 치명적 오류가 발생하여 큐 teardown이 트리거되면, nvmet_tcp_uninit_data_in_cmds()는 모든 명령어를 순회하며 각 항목에 대해 nvmet_tcp_need_data_in()을 확인합니다. 이미 초기화가 해제된 명령어가 여전히 데이터 필요 상태인 것으로 나타납니다(rbytes_done < transfer_len이고 cqe->status == 0이므로). 이로 인해 동일한 명령어에 대해 두 번째로 nvmet_req_uninit()가 호출되어, 단일 percpu_ref_get에 대한 이중 percpu_ref_put(double percpu_ref_put) 상황이 발생합니다.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!