CVE-2026-89706 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 11.

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

nfsd: 비동기 COPY 쓰기백(writeback) 실패 시 write verifier를 초기화합니다

비동기 COPY는 요청 시점에 nn->writeverf를 캡처하여, 작업자 kthread가 완료된 후 CB_OFFLOAD를 통해 클라이언트에 보고합니다. _nfsd_copy_file_range() 내의 post-copy vfs_fsync_range() 또는 filemap_check_wb_err()에서 오류를 보고하면, 작업자는 NFSD4_COPY_F_COMMITTED 플래그를 clear 상태로 유지하여 CB_OFFLOAD가 wr_stable_how를 NFS_UNSTABLE로 인코딩하도록 올바르게 처리합니다. 그러나 서버의 write verifier는 회전(rotation)되지 않습니다.

CB_OFFLOAD에서 NFS_UNSTABLE을 받은 클라이언트는 복사된 데이터의 영구성(durability)을 보장하기 위해 COMMIT 요청을 수행합니다. verifier가 변경되지 않은 상태에서 COMMIT은 클라이언트가 방금 CB_OFFLOAD를 통해 수신한 것과 동일한 값을 반환하며, 클라이언트는 복사가 완료되어 영구적으로 저장되었다고 결론짓습니다. 이로 인해 실제로 쓰기백(writeback)이 실패한 데이터는 묵시적으로 손실(drop)됩니다. 이는 UNSTABLE+COMMIT 내구성 계약(RFC 7862 섹션 15.1, RFC 8881 섹션 18.32)을 위반하며, nfsd_vfs_write() 및 nfsd_commit()에서 방금 수정된 버그와 일치합니다.

쓰기백 실패 지점에서 nn->writeverf를 회전시킵니다. 비동기 COPY 작업자는 svc_rqst가 없으므로 commit_reset_write_verifier() 함수를 사용할 수 없습니다. 따라서 nfsd_reset_write_verifier()를 직접 호출하여, 동일한 목적으로 nfsd_file_check_write_error()에서 이미 사용 중인 trace-less 초기화 방식을 모방합니다. 내구적 저장소(durable-storage) 실패를 나타내지 않는 -EAGAIN 및 -ESTALE은 commit_reset_write_verifier()와 일치하게 필터링해 제외합니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Linux

예약하다

2026. 09. 11.

모더레이션

수락

항목

VDB-402538

EPSS

0.00000

출처

Want to know what is going to be exploited?

We predict KEV entries!