{"id":"CVE-2022-50241","title":"In the Linux kernel, the following vulnerability has been resolved:\n\nNFSD: fix use-after-free on source server when doing inter-server copy\n\nUse-after-free occurred when the laundromat tried to free expired\ncpntf_state entry on the s2s_c…","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nNFSD: fix use-after-free on source server when doing inter-server copy\n\nUse-after-free occurred when the laundromat tried to free expired\ncpntf_state entry on the s2s_c…","severity":"high","cvss":8.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cwe":["CWE-416"],"vendor":"linux","product":"linux_kernel","affected":["linux_kernel < 5.10.150","linux_kernel >= 5.11, < 5.15.75","linux_kernel >= 5.16, < 5.19.17","linux_kernel >= 6.0, < 6.0.3"],"patched":["linux_kernel 6.0.3"],"published":"2025-09-15","updated":"2026-10-15","sourceUpdated":"2026-10-15T22:17:28.173","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2022-50241","references":[{"url":"https://git.kernel.org/stable/c/019805fea91599b22dfa62ffb29c022f35abeb06","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/35aa0fb8c3033a3d78603356e96fc18c5b9cceb2","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/6ea71246b7a02af675d733e72d14bd0d591d5f4a","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/83b94969751a691347606dbe6b1865efcfa5a643","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/bbacfcde5fff25ac22597e8373a065c647da6738","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"}],"tags":["nvd","cve.org"],"epss":0.0037,"epssPercentile":0.30727,"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-10-15T21:30:36.338429Z"},"ingestedAt":"2026-10-15T21:45:11.281Z","slug":"CVE-2022-50241","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nNFSD: fix use-after-free on source server when doing inter-server copy\n\nUse-after-free occurred when the laundromat tried to free expired\ncpntf_state entry on the s2s_cp_stateids list after inter-server\ncopy completed. The sc_cp_list that the expired copy state was\ninserted on was already freed.\n\nWhen COPY completes, the Linux client normally sends LOCKU(lock_state x),\nFREE_STATEID(lock_state x) and CLOSE(open_state y) to the source server.\nThe nfs4_put_stid call from nfsd4_free_stateid cleans up the copy state\nfrom the s2s_cp_stateids list before freeing the lock state's stid.\n\nHowever, sometimes the CLOSE was sent before the FREE_STATEID request.\nWhen this happens, the nfsd4_close_open_stateid call from nfsd4_close\nfrees all lock states on its st_locks list without cleaning up the copy\nstate on the sc_cp_list list. When the time the FREE_STATEID arrives the\nserver returns BAD_STATEID since the lock state was freed. This causes\nthe use-after-free error to occur when the laundromat tries to free\nthe expired cpntf_state.\n\nThis patch adds a call to nfs4_free_cpntf_statelist in\nnfsd4_close_open_stateid to clean up the copy state before calling\nfree_ol_stateid_reaplist to free the lock state's stid on the reaplist.\n\n## Affected\n\n- `linux_kernel < 5.10.150`\n- `linux_kernel >= 5.11, < 5.15.75`\n- `linux_kernel >= 5.16, < 5.19.17`\n- `linux_kernel >= 6.0, < 6.0.3`\n\n## Remediation\n\nUpgrade past the affected range:\n\n- `linux_kernel 6.0.3`","depth":"twilight","depthScore":48,"depthScoreParts":{"impact":48.4,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}