CVE-2026-89485정보

요약

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

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

lockd: nlm_inspect_file 잠금 해제 시 next 파일 고정(pinning) 유지

nlm_traverse_files() 함수는 mutex_unlock을 수행하는 동안 nlm_inspect_file()에 대해 현재 파일을 f_count++로 고정하지만, 저장된 next 포인터는 고정되지 않습니다. 이로 인해 동시 실행되는 nlm_release_file()이 잠금 해제 창(unlock window) 중에 다음(next) 파일을 kfree할 수 있으며, 반복자(iterator)가 다음 루프 단계에서 해지된 메모리를 역참조(dereference)하게 됩니다.

잠금 해제(lock-drop) 전에 현재(current) 파일과 next 파일을 모두 고정합니다. 각 반복의 끝에서 고정된 커서를 스왑하여 잠금을 해제하는 동안에도 next가 항상 살아있는 상태(held alive)로 유지되도록 합니다.

반복 고정을 해제한 후에는 파일이 술부(predicate)와 일치했는지 여부와 관계없이 항상 nlm_file_release()를 호출합니다. 캐시된 f_locks 필드 대신 inode 잠금 목록을 실시간으로 순회하는 live walk를 수행하는 nlm_file_inuse()를 사용하여, nlm_inspect_file()가 실행되지 않은 건너뛴 파일들이 올바르게 평가되도록 합니다.

이제 해시 버킷 내의 모든 파일이 고정되고 해제되므로, is_failover_file 술부에서 제외되었지만 잠금, 블록, 공유 또는 외부 참조가 없는 파일들은 순회 중 삭제됩니다. 이전 코드에서는 cleanup을 위해 건너뛴 파일을 평가하지 않았습니다. 새로운 동작은 의도적인 것으로, 이러한 파일들은 stale(구식/유효성 없음) 상태이므로 테이블에 남아서는 안 됩니다.

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

출처

Do you know our Splunk app?

Download it now for free!