CVE-2025-38232 (GCVE-0-2025-38232)
Vulnerability from cvelistv5
Published
2025-07-04 13:37
Modified
2026-08-05 12:00
Summary
In the Linux kernel, the following vulnerability has been resolved: NFSD: fix race between nfsd registration and exports_proc As of now nfsd calls create_proc_exports_entry() at start of init_nfsd and cleanup by remove_proc_entry() at last of exit_nfsd. Which causes kernel OOPs if there is race between below 2 operations: (i) exportfs -r (ii) mount -t nfsd none /proc/fs/nfsd for 5.4 kernel ARM64: CPU 1: el1_irq+0xbc/0x180 arch_counter_get_cntvct+0x14/0x18 running_clock+0xc/0x18 preempt_count_add+0x88/0x110 prep_new_page+0xb0/0x220 get_page_from_freelist+0x2d8/0x1778 __alloc_pages_nodemask+0x15c/0xef0 __vmalloc_node_range+0x28c/0x478 __vmalloc_node_flags_caller+0x8c/0xb0 kvmalloc_node+0x88/0xe0 nfsd_init_net+0x6c/0x108 [nfsd] ops_init+0x44/0x170 register_pernet_operations+0x114/0x270 register_pernet_subsys+0x34/0x50 init_nfsd+0xa8/0x718 [nfsd] do_one_initcall+0x54/0x2e0 CPU 2 : Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010 PC is at : exports_net_open+0x50/0x68 [nfsd] Call trace: exports_net_open+0x50/0x68 [nfsd] exports_proc_open+0x2c/0x38 [nfsd] proc_reg_open+0xb8/0x198 do_dentry_open+0x1c4/0x418 vfs_open+0x38/0x48 path_openat+0x28c/0xf18 do_filp_open+0x70/0xe8 do_sys_open+0x154/0x248 Sometimes it crashes at exports_net_open() and sometimes cache_seq_next_rcu(). and same is happening on latest 6.14 kernel as well: [ 0.000000] Linux version 6.14.0-rc5-next-20250304-dirty ... [ 285.455918] Unable to handle kernel paging request at virtual address 00001f4800001f48 ... [ 285.464902] pc : cache_seq_next_rcu+0x78/0xa4 ... [ 285.469695] Call trace: [ 285.470083] cache_seq_next_rcu+0x78/0xa4 (P) [ 285.470488] seq_read+0xe0/0x11c [ 285.470675] proc_reg_read+0x9c/0xf0 [ 285.470874] vfs_read+0xc4/0x2fc [ 285.471057] ksys_read+0x6c/0xf4 [ 285.471231] __arm64_sys_read+0x1c/0x28 [ 285.471428] invoke_syscall+0x44/0x100 [ 285.471633] el0_svc_common.constprop.0+0x40/0xe0 [ 285.471870] do_el0_svc_compat+0x1c/0x34 [ 285.472073] el0_svc_compat+0x2c/0x80 [ 285.472265] el0t_32_sync_handler+0x90/0x140 [ 285.472473] el0t_32_sync+0x19c/0x1a0 [ 285.472887] Code: f9400885 93407c23 937d7c27 11000421 (f86378a3) [ 285.473422] ---[ end trace 0000000000000000 ]--- It reproduced simply with below script: while [ 1 ] do /exportfs -r done & while [ 1 ] do insmod /nfsd.ko mount -t nfsd none /proc/fs/nfsd umount /proc/fs/nfsd rmmod nfsd done & So exporting interfaces to user space shall be done at last and cleanup at first place. With change there is no Kernel OOPs.
Impacted products
Vendor Product Version
Linux Linux Version: bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7
Version: bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7
Version: bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7
Version: bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7
Version: bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7
Version: bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7
Version: 8677e99150b0830d29cc1318b4cc559e176940bb
Version: 7c7cb07d4affcf41749234fe9dc4d90cd3959e32
Version: 4d41f65efeec0a6da6088341203c81e49ebfcd90
Version: 5.4.102   
Version: 5.10.20   
Version: 5.11.3   
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2025-38232",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-06-10T20:41:24.428809Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-06-11T18:44:12.027Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "affected": [
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.6",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.6",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.6",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.6",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIPLUS S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.6",
                "versionType": "custom"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-07-14T12:41:47.051Z",
          "orgId": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e",
          "shortName": "siemens-SADP"
        },
        "references": [
          {
            "url": "https://cert-portal.siemens.com/productcert/html/ssa-019113.html"
          }
        ],
        "x_adpType": "supplier"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/nfsd/nfsctl.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "49b57b98fa601ae6cc7897bab4515129da8290f7",
              "status": "affected",
              "version": "bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7",
              "versionType": "git"
            },
            {
              "lessThan": "88d6785c173a7c4de05bef8c4fd8a9b42ead02d5",
              "status": "affected",
              "version": "bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7",
              "versionType": "git"
            },
            {
              "lessThan": "8120e420013d947c890f358f30a2d98ba8ac20bc",
              "status": "affected",
              "version": "bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7",
              "versionType": "git"
            },
            {
              "lessThan": "2029ca75cdfa6a25716a5a76b751486cce7e3822",
              "status": "affected",
              "version": "bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7",
              "versionType": "git"
            },
            {
              "lessThan": "327011a2bb4f7de9c72b891a96ce8d902828bddf",
              "status": "affected",
              "version": "bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7",
              "versionType": "git"
            },
            {
              "lessThan": "f7fb730cac9aafda8b9813b55d04e28a9664d17c",
              "status": "affected",
              "version": "bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "8677e99150b0830d29cc1318b4cc559e176940bb",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7c7cb07d4affcf41749234fe9dc4d90cd3959e32",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "4d41f65efeec0a6da6088341203c81e49ebfcd90",
              "versionType": "git"
            },
            {
              "lessThan": "5.5",
              "status": "affected",
              "version": "5.4.102",
              "versionType": "semver"
            },
            {
              "lessThan": "5.11",
              "status": "affected",
              "version": "5.10.20",
              "versionType": "semver"
            },
            {
              "lessThan": "5.12",
              "status": "affected",
              "version": "5.11.3",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/nfsd/nfsctl.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.12"
            },
            {
              "lessThan": "5.12",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.199",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.162",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.122",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.35",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.15.*",
              "status": "unaffected",
              "version": "6.15.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.16",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.199",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.162",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.122",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.35",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15.4",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.16",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.4.102",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.10.20",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.11.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nNFSD: fix race between nfsd registration and exports_proc\n\nAs of now nfsd calls create_proc_exports_entry() at start of init_nfsd\nand cleanup by remove_proc_entry() at last of exit_nfsd.\n\nWhich causes kernel OOPs if there is race between below 2 operations:\n(i) exportfs -r\n(ii) mount -t nfsd none /proc/fs/nfsd\n\nfor 5.4 kernel ARM64:\n\nCPU 1:\nel1_irq+0xbc/0x180\narch_counter_get_cntvct+0x14/0x18\nrunning_clock+0xc/0x18\npreempt_count_add+0x88/0x110\nprep_new_page+0xb0/0x220\nget_page_from_freelist+0x2d8/0x1778\n__alloc_pages_nodemask+0x15c/0xef0\n__vmalloc_node_range+0x28c/0x478\n__vmalloc_node_flags_caller+0x8c/0xb0\nkvmalloc_node+0x88/0xe0\nnfsd_init_net+0x6c/0x108 [nfsd]\nops_init+0x44/0x170\nregister_pernet_operations+0x114/0x270\nregister_pernet_subsys+0x34/0x50\ninit_nfsd+0xa8/0x718 [nfsd]\ndo_one_initcall+0x54/0x2e0\n\nCPU 2 :\nUnable to handle kernel NULL pointer dereference at virtual address 0000000000000010\n\nPC is at : exports_net_open+0x50/0x68 [nfsd]\n\nCall trace:\nexports_net_open+0x50/0x68 [nfsd]\nexports_proc_open+0x2c/0x38 [nfsd]\nproc_reg_open+0xb8/0x198\ndo_dentry_open+0x1c4/0x418\nvfs_open+0x38/0x48\npath_openat+0x28c/0xf18\ndo_filp_open+0x70/0xe8\ndo_sys_open+0x154/0x248\n\nSometimes it crashes at exports_net_open() and sometimes cache_seq_next_rcu().\n\nand same is happening on latest 6.14 kernel as well:\n\n[    0.000000] Linux version 6.14.0-rc5-next-20250304-dirty\n...\n[  285.455918] Unable to handle kernel paging request at virtual address 00001f4800001f48\n...\n[  285.464902] pc : cache_seq_next_rcu+0x78/0xa4\n...\n[  285.469695] Call trace:\n[  285.470083]  cache_seq_next_rcu+0x78/0xa4 (P)\n[  285.470488]  seq_read+0xe0/0x11c\n[  285.470675]  proc_reg_read+0x9c/0xf0\n[  285.470874]  vfs_read+0xc4/0x2fc\n[  285.471057]  ksys_read+0x6c/0xf4\n[  285.471231]  __arm64_sys_read+0x1c/0x28\n[  285.471428]  invoke_syscall+0x44/0x100\n[  285.471633]  el0_svc_common.constprop.0+0x40/0xe0\n[  285.471870]  do_el0_svc_compat+0x1c/0x34\n[  285.472073]  el0_svc_compat+0x2c/0x80\n[  285.472265]  el0t_32_sync_handler+0x90/0x140\n[  285.472473]  el0t_32_sync+0x19c/0x1a0\n[  285.472887] Code: f9400885 93407c23 937d7c27 11000421 (f86378a3)\n[  285.473422] ---[ end trace 0000000000000000 ]---\n\nIt reproduced simply with below script:\nwhile [ 1 ]\ndo\n/exportfs -r\ndone \u0026\n\nwhile [ 1 ]\ndo\ninsmod /nfsd.ko\nmount -t nfsd none /proc/fs/nfsd\numount /proc/fs/nfsd\nrmmod nfsd\ndone \u0026\n\nSo exporting interfaces to user space shall be done at last and\ncleanup at first place.\n\nWith change there is no Kernel OOPs."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The race is reached through local syscalls only \u2014 `open()`/`read()` on the world-readable `/proc/fs/nfs/exports` racing against nfsd module init/exit; no NFS protocol traffic can trigger `init_nfsd()`/`exit_nfsd()` or the proc-entry path.\nAC:L - The attacker controls both sides of the race: spinning open/read loops on multiple CPUs while triggering nfsd module autoload via `unshare -Urm` + `mount -t nfsd`, and the commit\u0027s own reproducer shows the oops occurs reliably (\"Sometimes it crashes at exports_net_open() and sometimes cache_seq_next_rcu()\").\nPR:L - `proc_create(\"exports\", 0, ...)` defaults to 0444, so any unprivileged local user can open and read the file, and module autoload is reachable from an unprivileged user namespace because `request_module(\"fs-nfsd\")` runs before the `FS_USERNS_MOUNT` capability check in fs/super.c.\nUI:N - The attacker performs all steps itself \u2014 the reader loop and the module-load trigger \u2014 with no action required from any other user or administrator.\nS:U - The corruption and its consequences are confined to the kernel\u0027s own memory and the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - On the unload path the reader holds a freed `cache_detail`, and `__cache_seq_start`/`cache_seq_next` walk freed hash tables whose contents `e_show()`/`svc_export_show()` format into the seq buffer returned to userspace, leaking arbitrary reallocated kernel heap data; the init path additionally dereferences an uninitialized `net_generic` slot as a pointer.\nI:H - This is a use-after-free on `nn-\u003esvc_export_cache` and the `nfsd_net` itself \u2014 the attacker can spray the freed slab and have the kernel treat attacker-controlled bytes as `cache_detail`/`cache_head` fields and list pointers, giving a path to controlled writes and control-flow corruption.\nA:H - The commit documents reproducible kernel oopses on both arm64 5.4 (NULL deref at 0x10 in `exports_net_open`) and 6.14 (paging fault in `cache_seq_next_rcu`), and an unprivileged user can retrigger the crash at will."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:00:32.250Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/49b57b98fa601ae6cc7897bab4515129da8290f7"
        },
        {
          "url": "https://git.kernel.org/stable/c/88d6785c173a7c4de05bef8c4fd8a9b42ead02d5"
        },
        {
          "url": "https://git.kernel.org/stable/c/8120e420013d947c890f358f30a2d98ba8ac20bc"
        },
        {
          "url": "https://git.kernel.org/stable/c/2029ca75cdfa6a25716a5a76b751486cce7e3822"
        },
        {
          "url": "https://git.kernel.org/stable/c/327011a2bb4f7de9c72b891a96ce8d902828bddf"
        },
        {
          "url": "https://git.kernel.org/stable/c/f7fb730cac9aafda8b9813b55d04e28a9664d17c"
        }
      ],
      "title": "NFSD: fix race between nfsd registration and exports_proc",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-38232",
    "datePublished": "2025-07-04T13:37:45.635Z",
    "dateReserved": "2025-04-16T04:51:23.996Z",
    "dateUpdated": "2026-08-05T12:00:32.250Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"affected\": [{\"vendor\": \"Siemens\", \"product\": \"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.6\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}, {\"vendor\": \"Siemens\", \"product\": \"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.6\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}, {\"vendor\": \"Siemens\", \"product\": \"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.6\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}, {\"vendor\": \"Siemens\", \"product\": \"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.6\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}, {\"vendor\": \"Siemens\", \"product\": \"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.6\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}], \"x_adpType\": \"supplier\", \"references\": [{\"url\": \"https://cert-portal.siemens.com/productcert/html/ssa-019113.html\"}], \"providerMetadata\": {\"orgId\": \"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e\", \"shortName\": \"siemens-SADP\", \"dateUpdated\": \"2026-07-14T12:41:47.051Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2025-38232\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-06-10T20:41:24.428809Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-06-11T17:38:19.733Z\"}}], \"cna\": {\"title\": \"NFSD: fix race between nfsd registration and exports_proc\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 7.8, \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\"}}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7\", \"lessThan\": \"49b57b98fa601ae6cc7897bab4515129da8290f7\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7\", \"lessThan\": \"88d6785c173a7c4de05bef8c4fd8a9b42ead02d5\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7\", \"lessThan\": \"8120e420013d947c890f358f30a2d98ba8ac20bc\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7\", \"lessThan\": \"2029ca75cdfa6a25716a5a76b751486cce7e3822\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7\", \"lessThan\": \"327011a2bb4f7de9c72b891a96ce8d902828bddf\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"bd5ae9288d6451bd346a1b4a59d4fe7e62ba29b7\", \"lessThan\": \"f7fb730cac9aafda8b9813b55d04e28a9664d17c\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"8677e99150b0830d29cc1318b4cc559e176940bb\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"7c7cb07d4affcf41749234fe9dc4d90cd3959e32\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"4d41f65efeec0a6da6088341203c81e49ebfcd90\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"5.4.102\", \"lessThan\": \"5.5\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"5.10.20\", \"lessThan\": \"5.11\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"5.11.3\", \"lessThan\": \"5.12\", \"versionType\": \"semver\"}], \"programFiles\": [\"fs/nfsd/nfsctl.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"5.12\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"5.12\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.15.199\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.162\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.122\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.12.35\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.12.*\"}, {\"status\": \"unaffected\", \"version\": \"6.15.4\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.16\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"fs/nfsd/nfsctl.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/49b57b98fa601ae6cc7897bab4515129da8290f7\"}, {\"url\": \"https://git.kernel.org/stable/c/88d6785c173a7c4de05bef8c4fd8a9b42ead02d5\"}, {\"url\": \"https://git.kernel.org/stable/c/8120e420013d947c890f358f30a2d98ba8ac20bc\"}, {\"url\": \"https://git.kernel.org/stable/c/2029ca75cdfa6a25716a5a76b751486cce7e3822\"}, {\"url\": \"https://git.kernel.org/stable/c/327011a2bb4f7de9c72b891a96ce8d902828bddf\"}, {\"url\": \"https://git.kernel.org/stable/c/f7fb730cac9aafda8b9813b55d04e28a9664d17c\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nNFSD: fix race between nfsd registration and exports_proc\\n\\nAs of now nfsd calls create_proc_exports_entry() at start of init_nfsd\\nand cleanup by remove_proc_entry() at last of exit_nfsd.\\n\\nWhich causes kernel OOPs if there is race between below 2 operations:\\n(i) exportfs -r\\n(ii) mount -t nfsd none /proc/fs/nfsd\\n\\nfor 5.4 kernel ARM64:\\n\\nCPU 1:\\nel1_irq+0xbc/0x180\\narch_counter_get_cntvct+0x14/0x18\\nrunning_clock+0xc/0x18\\npreempt_count_add+0x88/0x110\\nprep_new_page+0xb0/0x220\\nget_page_from_freelist+0x2d8/0x1778\\n__alloc_pages_nodemask+0x15c/0xef0\\n__vmalloc_node_range+0x28c/0x478\\n__vmalloc_node_flags_caller+0x8c/0xb0\\nkvmalloc_node+0x88/0xe0\\nnfsd_init_net+0x6c/0x108 [nfsd]\\nops_init+0x44/0x170\\nregister_pernet_operations+0x114/0x270\\nregister_pernet_subsys+0x34/0x50\\ninit_nfsd+0xa8/0x718 [nfsd]\\ndo_one_initcall+0x54/0x2e0\\n\\nCPU 2 :\\nUnable to handle kernel NULL pointer dereference at virtual address 0000000000000010\\n\\nPC is at : exports_net_open+0x50/0x68 [nfsd]\\n\\nCall trace:\\nexports_net_open+0x50/0x68 [nfsd]\\nexports_proc_open+0x2c/0x38 [nfsd]\\nproc_reg_open+0xb8/0x198\\ndo_dentry_open+0x1c4/0x418\\nvfs_open+0x38/0x48\\npath_openat+0x28c/0xf18\\ndo_filp_open+0x70/0xe8\\ndo_sys_open+0x154/0x248\\n\\nSometimes it crashes at exports_net_open() and sometimes cache_seq_next_rcu().\\n\\nand same is happening on latest 6.14 kernel as well:\\n\\n[    0.000000] Linux version 6.14.0-rc5-next-20250304-dirty\\n...\\n[  285.455918] Unable to handle kernel paging request at virtual address 00001f4800001f48\\n...\\n[  285.464902] pc : cache_seq_next_rcu+0x78/0xa4\\n...\\n[  285.469695] Call trace:\\n[  285.470083]  cache_seq_next_rcu+0x78/0xa4 (P)\\n[  285.470488]  seq_read+0xe0/0x11c\\n[  285.470675]  proc_reg_read+0x9c/0xf0\\n[  285.470874]  vfs_read+0xc4/0x2fc\\n[  285.471057]  ksys_read+0x6c/0xf4\\n[  285.471231]  __arm64_sys_read+0x1c/0x28\\n[  285.471428]  invoke_syscall+0x44/0x100\\n[  285.471633]  el0_svc_common.constprop.0+0x40/0xe0\\n[  285.471870]  do_el0_svc_compat+0x1c/0x34\\n[  285.472073]  el0_svc_compat+0x2c/0x80\\n[  285.472265]  el0t_32_sync_handler+0x90/0x140\\n[  285.472473]  el0t_32_sync+0x19c/0x1a0\\n[  285.472887] Code: f9400885 93407c23 937d7c27 11000421 (f86378a3)\\n[  285.473422] ---[ end trace 0000000000000000 ]---\\n\\nIt reproduced simply with below script:\\nwhile [ 1 ]\\ndo\\n/exportfs -r\\ndone \u0026\\n\\nwhile [ 1 ]\\ndo\\ninsmod /nfsd.ko\\nmount -t nfsd none /proc/fs/nfsd\\numount /proc/fs/nfsd\\nrmmod nfsd\\ndone \u0026\\n\\nSo exporting interfaces to user space shall be done at last and\\ncleanup at first place.\\n\\nWith change there is no Kernel OOPs.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.199\", \"versionStartIncluding\": \"5.12\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.162\", \"versionStartIncluding\": \"5.12\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.122\", \"versionStartIncluding\": \"5.12\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.12.35\", \"versionStartIncluding\": \"5.12\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.15.4\", \"versionStartIncluding\": \"5.12\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.16\", \"versionStartIncluding\": \"5.12\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"5.4.102\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"5.10.20\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"5.11.3\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-07-30T05:52:22.175Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2025-38232\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-07-30T05:52:22.175Z\", \"dateReserved\": \"2025-04-16T04:51:23.996Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2025-07-04T13:37:45.635Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…