In the Linux kernel, the following vulnerability has been resolved:
nfsd: don't ignore the return code of svcprocregister()
Currently, nfsdprocstatinit() ignores the return value of svcproc_register(). If the procfile creation fails, then the kernel will WARN when it tries to remove the entry later.
Fix nfsdprocstatinit() to return the same type of pointer as svcprocregister(), and fix up nfsdnetinit() to check that and fail the nfsdnet construction if it occurs.
svcprocregister() can fail if the dentry can't be allocated, or if an identical dentry already exists. The second case is pretty unlikely in the nfsd_net construction codepath, so if this happens, return -ENOMEM.
[
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6a59b70fe71ec66c0dd19e2c279c71846a3fb2f0",
"signature_version": "v1",
"id": "CVE-2025-22026-13a77ede",
"digest": {
"threshold": 0.9,
"line_hashes": [
"228782812408465721278121541853160183169",
"90165999378702189400051619529953508227",
"206575870603433200285385520954137544751",
"108811679758753926646752845508347690327"
]
},
"target": {
"file": "fs/nfsd/stats.h"
}
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@930b64ca0c511521f0abdd1d57ce52b2a6e3476b",
"signature_version": "v1",
"id": "CVE-2025-22026-19ea6391",
"digest": {
"function_hash": "194046289487399094702349745375147739650",
"length": 149.0
},
"target": {
"function": "nfsd_proc_stat_init",
"file": "fs/nfsd/stats.c"
}
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6a59b70fe71ec66c0dd19e2c279c71846a3fb2f0",
"signature_version": "v1",
"id": "CVE-2025-22026-29d0e3f4",
"digest": {
"threshold": 0.9,
"line_hashes": [
"100713426671563316232697048851550795675",
"214756244186265388540083311172840151185",
"125326446001104907189531769877204453765",
"80565009639165567590163492678180936663",
"256539109450577407652421908884756492004",
"208583160946589988384192774439756434215",
"100193272897150947907910563022650956710"
]
},
"target": {
"file": "fs/nfsd/stats.c"
}
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6a59b70fe71ec66c0dd19e2c279c71846a3fb2f0",
"signature_version": "v1",
"id": "CVE-2025-22026-306ca454",
"digest": {
"function_hash": "194046289487399094702349745375147739650",
"length": 149.0
},
"target": {
"function": "nfsd_proc_stat_init",
"file": "fs/nfsd/stats.c"
}
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9d9456185fd5f1891c74354ee297f19538141ead",
"signature_version": "v1",
"id": "CVE-2025-22026-3db893af",
"digest": {
"function_hash": "177145514026429266343759005413240510306",
"length": 1192.0
},
"target": {
"function": "nfsd_net_init",
"file": "fs/nfsd/nfsctl.c"
}
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@930b64ca0c511521f0abdd1d57ce52b2a6e3476b",
"signature_version": "v1",
"id": "CVE-2025-22026-418e6e0d",
"digest": {
"threshold": 0.9,
"line_hashes": [
"34049598061696237840812082140715803869",
"143132701601602591100564812633800499097",
"294452505583561536854147878283879873323",
"259911896354240475651874285193994131007",
"52439674936979521063306729680446068927",
"298772266136846297347558438413694363885",
"316255208571111536754644060835292851930",
"126970483414570828081387723103903903109",
"98587958511666404737611337049747317459",
"180440847238760759374125200638891526313",
"49845865691022032289917474234893337281",
"247574465844745188633089034374652918122",
"67298689982146107113281945821415315960",
"225450106586158622825206313798537916616",
"245194806968586674764072579558789286934"
]
},
"target": {
"file": "fs/nfsd/nfsctl.c"
}
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e31957a819e60cf0bc9a49408765e6095fd3d046",
"signature_version": "v1",
"id": "CVE-2025-22026-7cc3873a",
"digest": {
"threshold": 0.9,
"line_hashes": [
"100713426671563316232697048851550795675",
"214756244186265388540083311172840151185",
"125326446001104907189531769877204453765",
"80565009639165567590163492678180936663",
"256539109450577407652421908884756492004",
"208583160946589988384192774439756434215",
"100193272897150947907910563022650956710"
]
},
"target": {
"file": "fs/nfsd/stats.c"
}
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e31957a819e60cf0bc9a49408765e6095fd3d046",
"signature_version": "v1",
"id": "CVE-2025-22026-87561059",
"digest": {
"threshold": 0.9,
"line_hashes": [
"228782812408465721278121541853160183169",
"90165999378702189400051619529953508227",
"206575870603433200285385520954137544751",
"108811679758753926646752845508347690327"
]
},
"target": {
"file": "fs/nfsd/stats.h"
}
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6a59b70fe71ec66c0dd19e2c279c71846a3fb2f0",
"signature_version": "v1",
"id": "CVE-2025-22026-9605c42a",
"digest": {
"threshold": 0.9,
"line_hashes": [
"34049598061696237840812082140715803869",
"143132701601602591100564812633800499097",
"294452505583561536854147878283879873323",
"259911896354240475651874285193994131007",
"52439674936979521063306729680446068927",
"298772266136846297347558438413694363885",
"316255208571111536754644060835292851930",
"126970483414570828081387723103903903109",
"17149503069885124372930287598296438193",
"245659921548434909565582467076339604721",
"93065714596015275867738950138371194886",
"67298689982146107113281945821415315960",
"225450106586158622825206313798537916616",
"245194806968586674764072579558789286934"
]
},
"target": {
"file": "fs/nfsd/nfsctl.c"
}
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9d9456185fd5f1891c74354ee297f19538141ead",
"signature_version": "v1",
"id": "CVE-2025-22026-97c45bf6",
"digest": {
"function_hash": "194046289487399094702349745375147739650",
"length": 149.0
},
"target": {
"function": "nfsd_proc_stat_init",
"file": "fs/nfsd/stats.c"
}
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6a59b70fe71ec66c0dd19e2c279c71846a3fb2f0",
"signature_version": "v1",
"id": "CVE-2025-22026-9a4fdf95",
"digest": {
"function_hash": "213211625634153751651730571350004093657",
"length": 1149.0
},
"target": {
"function": "nfsd_net_init",
"file": "fs/nfsd/nfsctl.c"
}
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9d9456185fd5f1891c74354ee297f19538141ead",
"signature_version": "v1",
"id": "CVE-2025-22026-ab3da56b",
"digest": {
"threshold": 0.9,
"line_hashes": [
"228782812408465721278121541853160183169",
"90165999378702189400051619529953508227",
"206575870603433200285385520954137544751",
"108811679758753926646752845508347690327"
]
},
"target": {
"file": "fs/nfsd/stats.h"
}
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@930b64ca0c511521f0abdd1d57ce52b2a6e3476b",
"signature_version": "v1",
"id": "CVE-2025-22026-b569c7e2",
"digest": {
"function_hash": "177145514026429266343759005413240510306",
"length": 1192.0
},
"target": {
"function": "nfsd_net_init",
"file": "fs/nfsd/nfsctl.c"
}
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@930b64ca0c511521f0abdd1d57ce52b2a6e3476b",
"signature_version": "v1",
"id": "CVE-2025-22026-ce3ea172",
"digest": {
"threshold": 0.9,
"line_hashes": [
"228782812408465721278121541853160183169",
"90165999378702189400051619529953508227",
"206575870603433200285385520954137544751",
"108811679758753926646752845508347690327"
]
},
"target": {
"file": "fs/nfsd/stats.h"
}
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e31957a819e60cf0bc9a49408765e6095fd3d046",
"signature_version": "v1",
"id": "CVE-2025-22026-ce6948a4",
"digest": {
"function_hash": "194046289487399094702349745375147739650",
"length": 149.0
},
"target": {
"function": "nfsd_proc_stat_init",
"file": "fs/nfsd/stats.c"
}
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9d9456185fd5f1891c74354ee297f19538141ead",
"signature_version": "v1",
"id": "CVE-2025-22026-d993909f",
"digest": {
"threshold": 0.9,
"line_hashes": [
"34049598061696237840812082140715803869",
"143132701601602591100564812633800499097",
"294452505583561536854147878283879873323",
"259911896354240475651874285193994131007",
"52439674936979521063306729680446068927",
"298772266136846297347558438413694363885",
"316255208571111536754644060835292851930",
"126970483414570828081387723103903903109",
"98587958511666404737611337049747317459",
"180440847238760759374125200638891526313",
"49845865691022032289917474234893337281",
"247574465844745188633089034374652918122",
"67298689982146107113281945821415315960",
"225450106586158622825206313798537916616",
"245194806968586674764072579558789286934"
]
},
"target": {
"file": "fs/nfsd/nfsctl.c"
}
},
{
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e31957a819e60cf0bc9a49408765e6095fd3d046",
"signature_version": "v1",
"id": "CVE-2025-22026-dca1ca84",
"digest": {
"function_hash": "213211625634153751651730571350004093657",
"length": 1149.0
},
"target": {
"function": "nfsd_net_init",
"file": "fs/nfsd/nfsctl.c"
}
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@930b64ca0c511521f0abdd1d57ce52b2a6e3476b",
"signature_version": "v1",
"id": "CVE-2025-22026-e576b9e3",
"digest": {
"threshold": 0.9,
"line_hashes": [
"100713426671563316232697048851550795675",
"214756244186265388540083311172840151185",
"125326446001104907189531769877204453765",
"80565009639165567590163492678180936663",
"256539109450577407652421908884756492004",
"208583160946589988384192774439756434215",
"100193272897150947907910563022650956710"
]
},
"target": {
"file": "fs/nfsd/stats.c"
}
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9d9456185fd5f1891c74354ee297f19538141ead",
"signature_version": "v1",
"id": "CVE-2025-22026-fb3f3bc9",
"digest": {
"threshold": 0.9,
"line_hashes": [
"100713426671563316232697048851550795675",
"214756244186265388540083311172840151185",
"125326446001104907189531769877204453765",
"80565009639165567590163492678180936663",
"256539109450577407652421908884756492004",
"208583160946589988384192774439756434215",
"100193272897150947907910563022650956710"
]
},
"target": {
"file": "fs/nfsd/stats.c"
}
},
{
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e31957a819e60cf0bc9a49408765e6095fd3d046",
"signature_version": "v1",
"id": "CVE-2025-22026-fe89940c",
"digest": {
"threshold": 0.9,
"line_hashes": [
"34049598061696237840812082140715803869",
"143132701601602591100564812633800499097",
"294452505583561536854147878283879873323",
"259911896354240475651874285193994131007",
"52439674936979521063306729680446068927",
"298772266136846297347558438413694363885",
"316255208571111536754644060835292851930",
"126970483414570828081387723103903903109",
"17149503069885124372930287598296438193",
"245659921548434909565582467076339604721",
"93065714596015275867738950138371194886",
"67298689982146107113281945821415315960",
"225450106586158622825206313798537916616",
"245194806968586674764072579558789286934"
]
},
"target": {
"file": "fs/nfsd/nfsctl.c"
}
}
]