Katalog CVE

CVE-2025-71090

WysokieCVSS 7.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.18%

Percentyl 8 - wyżej niż 8% wszystkich znanych CVE

Streszczenie

W serwerze NFS (nfsd) wykryto wyciek referencji nfsd_file w funkcji nfsd4_add_rdaccess_to_wrdeleg(). Nadpisywanie wskaźnika bez zwalniania poprzedniego oraz nieprawidłowe zarządzanie referencjami prowadzi do wycieków pamięci i potencjalnych konfliktów otwarcia plików. Podczas zamykania serwera może wystąpić BUG() w kmem_cache_destroy().

Ocena ryzyka

Wycieki pamięci mogą prowadzić do wyczerpania zasobów, a konflikty otwarcia plików mogą uniemożliwić dostęp do plików. Awaria przy zamykaniu serwera powoduje odmowę usługi.

Rekomendacja

Zaleca się aktualizację jądra Linux do wersji zawierającej poprawkę.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: nfsd: fix nfsd_file reference leak in nfsd4_add_rdaccess_to_wrdeleg() nfsd4_add_rdaccess_to_wrdeleg() unconditionally overwrites fp->fi_fds[O_RDONLY] with a newly acquired nfsd_file. However, if the client already has a SHARE_ACCESS_READ open from a previous OPEN operation, this action overwrites the existing pointer without releasing its reference, orphaning the previous reference. Additionally, the function originally stored the same nfsd_file pointer in both fp->fi_fds[O_RDONLY] and fp->fi_rdeleg_file with only a single reference. When put_deleg_file() runs, it clears fi_rdeleg_file and calls nfs4_file_put_access() to release the file. However, nfs4_file_put_access() only releases fi_fds[O_RDONLY] when the fi_access[O_RDONLY] counter drops to zero. If another READ open exists on the file, the counter remains elevated and the nfsd_file reference from the delegation is never released. This potentially causes open conflicts on that file. Then, on server shutdown, these leaks cause __nfsd_file_cache_purge() to encounter files with an elevated reference count that cannot be cleaned up, ultimately triggering a BUG() in kmem_cache_destroy() because there are still nfsd_file objects allocated in that cache.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS