CVE Vulnerabilities

CVE-2025-38232

Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

Published: Jul 04, 2025 | Modified: Feb 06, 2026
CVSS 3.x
4.7
MEDIUM
Source:
NVD
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
RedHat/V2
RedHat/V3
4.7 MODERATE
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

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.

Weakness

The product contains a concurrent code sequence that requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence operating concurrently.

Affected Software

NameVendorStart VersionEnd Version
Linux_kernelLinux*6.12.35 (excluding)
Linux_kernelLinux6.13 (including)6.15.4 (excluding)
LinuxUbuntubionic*
LinuxUbuntuesm-infra-legacy/trusty*
LinuxUbuntuesm-infra/bionic*
LinuxUbuntuesm-infra/focal*
LinuxUbuntuesm-infra/xenial*
LinuxUbuntufocal*
LinuxUbuntujammy*
LinuxUbuntunoble*
LinuxUbuntuoracular*
LinuxUbuntuplucky*
LinuxUbuntutrusty*
LinuxUbuntutrusty/esm*
LinuxUbuntuupstream*
LinuxUbuntuxenial*
Linux-allwinner-5.19Ubuntujammy*
Linux-allwinner-5.19Ubuntuupstream*
Linux-awsUbuntubionic*
Linux-awsUbuntuesm-infra-legacy/trusty*
Linux-awsUbuntuesm-infra/bionic*
Linux-awsUbuntuesm-infra/focal*
Linux-awsUbuntuesm-infra/xenial*
Linux-awsUbuntufocal*
Linux-awsUbuntujammy*
Linux-awsUbuntunoble*
Linux-awsUbuntuoracular*
Linux-awsUbuntuplucky*
Linux-awsUbuntutrusty*
Linux-awsUbuntutrusty/esm*
Linux-awsUbuntuupstream*
Linux-awsUbuntuxenial*
Linux-aws-5.0Ubuntubionic*
Linux-aws-5.0Ubuntuesm-infra/bionic*
Linux-aws-5.0Ubuntuupstream*
Linux-aws-5.11Ubuntuesm-infra/focal*
Linux-aws-5.11Ubuntufocal*
Linux-aws-5.11Ubuntuupstream*
Linux-aws-5.13Ubuntuesm-infra/focal*
Linux-aws-5.13Ubuntufocal*
Linux-aws-5.13Ubuntuupstream*
Linux-aws-5.15Ubuntuesm-infra/focal*
Linux-aws-5.15Ubuntufocal*
Linux-aws-5.15Ubuntuupstream*
Linux-aws-5.19Ubuntujammy*
Linux-aws-5.19Ubuntuupstream*
Linux-aws-5.3Ubuntubionic*
Linux-aws-5.3Ubuntuesm-infra/bionic*
Linux-aws-5.3Ubuntuupstream*
Linux-aws-5.4Ubuntubionic*
Linux-aws-5.4Ubuntuesm-infra/bionic*
Linux-aws-5.4Ubuntuupstream*
Linux-aws-5.8Ubuntuesm-infra/focal*
Linux-aws-5.8Ubuntufocal*
Linux-aws-5.8Ubuntuupstream*
Linux-aws-6.14Ubuntunoble*
Linux-aws-6.14Ubuntuupstream*
Linux-aws-6.2Ubuntujammy*
Linux-aws-6.2Ubuntuupstream*
Linux-aws-6.5Ubuntujammy*
Linux-aws-6.5Ubuntuupstream*
Linux-aws-6.8Ubuntujammy*
Linux-aws-6.8Ubuntuupstream*
Linux-aws-fipsUbuntufips-preview/jammy*
Linux-aws-fipsUbuntufips-updates/bionic*
Linux-aws-fipsUbuntufips-updates/focal*
Linux-aws-fipsUbuntufips-updates/jammy*
Linux-aws-fipsUbuntufips-updates/noble*
Linux-aws-fipsUbuntufips/bionic*
Linux-aws-fipsUbuntufips/focal*
Linux-aws-fipsUbuntutrusty*
Linux-aws-fipsUbuntuupstream*
Linux-aws-fipsUbuntuxenial*
Linux-aws-hweUbuntuesm-infra/xenial*
Linux-aws-hweUbuntuupstream*
Linux-aws-hweUbuntuxenial*
Linux-azureUbuntubionic*
Linux-azureUbuntuesm-infra-legacy/trusty*
Linux-azureUbuntuesm-infra/bionic*
Linux-azureUbuntuesm-infra/focal*
Linux-azureUbuntuesm-infra/xenial*
Linux-azureUbuntufocal*
Linux-azureUbuntujammy*
Linux-azureUbuntunoble*
Linux-azureUbuntuoracular*
Linux-azureUbuntuplucky*
Linux-azureUbuntutrusty*
Linux-azureUbuntutrusty/esm*
Linux-azureUbuntuupstream*
Linux-azureUbuntuxenial*
Linux-azure-4.15Ubuntubionic*
Linux-azure-4.15Ubuntuesm-infra/bionic*
Linux-azure-4.15Ubuntuupstream*
Linux-azure-5.11Ubuntuesm-infra/focal*
Linux-azure-5.11Ubuntufocal*
Linux-azure-5.11Ubuntuupstream*
Linux-azure-5.13Ubuntuesm-infra/focal*
Linux-azure-5.13Ubuntufocal*
Linux-azure-5.13Ubuntuupstream*
Linux-azure-5.15Ubuntuesm-infra/focal*
Linux-azure-5.15Ubuntufocal*
Linux-azure-5.15Ubuntuupstream*
Linux-azure-5.19Ubuntujammy*
Linux-azure-5.19Ubuntuupstream*
Linux-azure-5.3Ubuntubionic*
Linux-azure-5.3Ubuntuesm-infra/bionic*
Linux-azure-5.3Ubuntuupstream*
Linux-azure-5.4Ubuntubionic*
Linux-azure-5.4Ubuntuesm-infra/bionic*
Linux-azure-5.4Ubuntuupstream*
Linux-azure-5.8Ubuntuesm-infra/focal*
Linux-azure-5.8Ubuntufocal*
Linux-azure-5.8Ubuntuupstream*
Linux-azure-6.11Ubuntunoble*
Linux-azure-6.11Ubuntuupstream*
Linux-azure-6.14Ubuntunoble*
Linux-azure-6.14Ubuntuupstream*
Linux-azure-6.2Ubuntujammy*
Linux-azure-6.2Ubuntuupstream*
Linux-azure-6.5Ubuntujammy*
Linux-azure-6.5Ubuntuupstream*
Linux-azure-6.8Ubuntujammy*
Linux-azure-6.8Ubuntuupstream*
Linux-azure-edgeUbuntubionic*
Linux-azure-edgeUbuntuesm-infra/bionic*
Linux-azure-edgeUbuntuupstream*
Linux-azure-fdeUbuntuesm-infra/focal*
Linux-azure-fdeUbuntufocal*
Linux-azure-fdeUbuntujammy*
Linux-azure-fdeUbuntunoble*
Linux-azure-fdeUbuntuupstream*
Linux-azure-fde-5.15Ubuntuesm-infra/focal*
Linux-azure-fde-5.15Ubuntufocal*
Linux-azure-fde-5.15Ubuntuupstream*
Linux-azure-fde-5.19Ubuntujammy*
Linux-azure-fde-5.19Ubuntuupstream*
Linux-azure-fde-6.14Ubuntuupstream*
Linux-azure-fde-6.2Ubuntujammy*
Linux-azure-fde-6.2Ubuntuupstream*
Linux-azure-fde-6.8Ubuntujammy*
Linux-azure-fde-6.8Ubuntuupstream*
Linux-azure-fipsUbuntufips-preview/jammy*
Linux-azure-fipsUbuntufips-updates/bionic*
Linux-azure-fipsUbuntufips-updates/focal*
Linux-azure-fipsUbuntufips-updates/jammy*
Linux-azure-fipsUbuntufips-updates/noble*
Linux-azure-fipsUbuntufips/bionic*
Linux-azure-fipsUbuntufips/focal*
Linux-azure-fipsUbuntutrusty*
Linux-azure-fipsUbuntuupstream*
Linux-azure-fipsUbuntuxenial*
Linux-azure-nvidiaUbuntunoble*
Linux-azure-nvidiaUbuntuupstream*
Linux-azure-nvidia-6.14Ubuntunoble*
Linux-azure-nvidia-6.14Ubuntuupstream*
Linux-bluefieldUbuntubluefield/jammy*
Linux-bluefieldUbuntuesm-infra/focal*
Linux-bluefieldUbuntufocal*
Linux-bluefieldUbuntuupstream*
Linux-fipsUbuntufips-preview/jammy*
Linux-fipsUbuntufips-updates/bionic*
Linux-fipsUbuntufips-updates/focal*
Linux-fipsUbuntufips-updates/jammy*
Linux-fipsUbuntufips-updates/noble*
Linux-fipsUbuntufips-updates/xenial*
Linux-fipsUbuntufips/bionic*
Linux-fipsUbuntufips/focal*
Linux-fipsUbuntufips/xenial*
Linux-fipsUbuntuupstream*
Linux-gcpUbuntubionic*
Linux-gcpUbuntuesm-infra/bionic*
Linux-gcpUbuntuesm-infra/focal*
Linux-gcpUbuntuesm-infra/xenial*
Linux-gcpUbuntufocal*
Linux-gcpUbuntujammy*
Linux-gcpUbuntunoble*
Linux-gcpUbuntuoracular*
Linux-gcpUbuntuplucky*
Linux-gcpUbuntuupstream*
Linux-gcpUbuntuxenial*
Linux-gcp-4.15Ubuntubionic*
Linux-gcp-4.15Ubuntuesm-infra/bionic*
Linux-gcp-4.15Ubuntuupstream*
Linux-gcp-5.11Ubuntuesm-infra/focal*
Linux-gcp-5.11Ubuntufocal*
Linux-gcp-5.11Ubuntuupstream*
Linux-gcp-5.13Ubuntuesm-infra/focal*
Linux-gcp-5.13Ubuntufocal*
Linux-gcp-5.13Ubuntuupstream*
Linux-gcp-5.15Ubuntuesm-infra/focal*
Linux-gcp-5.15Ubuntufocal*
Linux-gcp-5.15Ubuntuupstream*
Linux-gcp-5.19Ubuntujammy*
Linux-gcp-5.19Ubuntuupstream*
Linux-gcp-5.3Ubuntubionic*
Linux-gcp-5.3Ubuntuesm-infra/bionic*
Linux-gcp-5.3Ubuntuupstream*
Linux-gcp-5.4Ubuntubionic*
Linux-gcp-5.4Ubuntuesm-infra/bionic*
Linux-gcp-5.4Ubuntuupstream*
Linux-gcp-5.8Ubuntuesm-infra/focal*
Linux-gcp-5.8Ubuntufocal*
Linux-gcp-5.8Ubuntuupstream*
Linux-gcp-6.11Ubuntunoble*
Linux-gcp-6.11Ubuntuupstream*
Linux-gcp-6.14Ubuntunoble*
Linux-gcp-6.14Ubuntuupstream*
Linux-gcp-6.2Ubuntujammy*
Linux-gcp-6.2Ubuntuupstream*
Linux-gcp-6.5Ubuntujammy*
Linux-gcp-6.5Ubuntuupstream*
Linux-gcp-6.8Ubuntujammy*
Linux-gcp-6.8Ubuntuupstream*
Linux-gcp-fipsUbuntufips-preview/jammy*
Linux-gcp-fipsUbuntufips-updates/bionic*
Linux-gcp-fipsUbuntufips-updates/focal*
Linux-gcp-fipsUbuntufips-updates/jammy*
Linux-gcp-fipsUbuntufips-updates/noble*
Linux-gcp-fipsUbuntufips/bionic*
Linux-gcp-fipsUbuntufips/focal*
Linux-gcp-fipsUbuntutrusty*
Linux-gcp-fipsUbuntuupstream*
Linux-gcp-fipsUbuntuxenial*
Linux-gkeUbuntuesm-infra/focal*
Linux-gkeUbuntufocal*
Linux-gkeUbuntujammy*
Linux-gkeUbuntunoble*
Linux-gkeUbuntuupstream*
Linux-gkeUbuntuxenial*
Linux-gke-4.15Ubuntubionic*
Linux-gke-4.15Ubuntuesm-infra/bionic*
Linux-gke-4.15Ubuntuupstream*
Linux-gke-5.15Ubuntuesm-infra/focal*
Linux-gke-5.15Ubuntufocal*
Linux-gke-5.15Ubuntuupstream*
Linux-gke-5.4Ubuntubionic*
Linux-gke-5.4Ubuntuesm-infra/bionic*
Linux-gke-5.4Ubuntuupstream*
Linux-gkeopUbuntuesm-infra/focal*
Linux-gkeopUbuntufocal*
Linux-gkeopUbuntujammy*
Linux-gkeopUbuntunoble*
Linux-gkeopUbuntuupstream*
Linux-gkeop-5.15Ubuntuesm-infra/focal*
Linux-gkeop-5.15Ubuntufocal*
Linux-gkeop-5.15Ubuntuupstream*
Linux-gkeop-5.4Ubuntubionic*
Linux-gkeop-5.4Ubuntuesm-infra/bionic*
Linux-gkeop-5.4Ubuntuupstream*
Linux-hweUbuntubionic*
Linux-hweUbuntuesm-infra/bionic*
Linux-hweUbuntuesm-infra/xenial*
Linux-hweUbuntuupstream*
Linux-hweUbuntuxenial*
Linux-hwe-5.11Ubuntuesm-infra/focal*
Linux-hwe-5.11Ubuntufocal*
Linux-hwe-5.11Ubuntuupstream*
Linux-hwe-5.13Ubuntuesm-infra/focal*
Linux-hwe-5.13Ubuntufocal*
Linux-hwe-5.13Ubuntuupstream*
Linux-hwe-5.15Ubuntuesm-infra/focal*
Linux-hwe-5.15Ubuntufocal*
Linux-hwe-5.15Ubuntuupstream*
Linux-hwe-5.19Ubuntujammy*
Linux-hwe-5.19Ubuntuupstream*
Linux-hwe-5.4Ubuntubionic*
Linux-hwe-5.4Ubuntuesm-infra/bionic*
Linux-hwe-5.4Ubuntuupstream*
Linux-hwe-5.8Ubuntuesm-infra/focal*
Linux-hwe-5.8Ubuntufocal*
Linux-hwe-5.8Ubuntuupstream*
Linux-hwe-6.11Ubuntunoble*
Linux-hwe-6.11Ubuntuupstream*
Linux-hwe-6.14Ubuntuupstream*
Linux-hwe-6.2Ubuntujammy*
Linux-hwe-6.2Ubuntuupstream*
Linux-hwe-6.5Ubuntujammy*
Linux-hwe-6.5Ubuntuupstream*
Linux-hwe-6.8Ubuntujammy*
Linux-hwe-6.8Ubuntuupstream*
Linux-hwe-edgeUbuntubionic*
Linux-hwe-edgeUbuntuesm-infra/bionic*
Linux-hwe-edgeUbuntuesm-infra/xenial*
Linux-hwe-edgeUbuntuupstream*
Linux-hwe-edgeUbuntuxenial*
Linux-ibmUbuntuesm-infra/focal*
Linux-ibmUbuntufocal*
Linux-ibmUbuntujammy*
Linux-ibmUbuntunoble*
Linux-ibmUbuntuupstream*
Linux-ibm-5.15Ubuntuesm-infra/focal*
Linux-ibm-5.15Ubuntufocal*
Linux-ibm-5.15Ubuntuupstream*
Linux-ibm-5.4Ubuntubionic*
Linux-ibm-5.4Ubuntuesm-infra/bionic*
Linux-ibm-5.4Ubuntuupstream*
Linux-ibm-6.8Ubuntujammy*
Linux-ibm-6.8Ubuntuupstream*
Linux-intelUbuntunoble*
Linux-intelUbuntuupstream*
Linux-intel-5.13Ubuntuesm-infra/focal*
Linux-intel-5.13Ubuntufocal*
Linux-intel-5.13Ubuntuupstream*
Linux-intel-iot-realtimeUbuntujammy*
Linux-intel-iot-realtimeUbunturealtime/jammy*
Linux-intel-iot-realtimeUbuntuupstream*
Linux-intel-iotgUbuntujammy*
Linux-intel-iotgUbuntuupstream*
Linux-intel-iotg-5.15Ubuntuesm-infra/focal*
Linux-intel-iotg-5.15Ubuntufocal*
Linux-intel-iotg-5.15Ubuntuupstream*
Linux-iotUbuntuesm-infra/focal*
Linux-iotUbuntufocal*
Linux-iotUbuntuupstream*
Linux-kvmUbuntubionic*
Linux-kvmUbuntuesm-infra/bionic*
Linux-kvmUbuntuesm-infra/focal*
Linux-kvmUbuntuesm-infra/xenial*
Linux-kvmUbuntufocal*
Linux-kvmUbuntujammy*
Linux-kvmUbuntuupstream*
Linux-kvmUbuntuxenial*
Linux-lowlatencyUbuntujammy*
Linux-lowlatencyUbuntunoble*
Linux-lowlatencyUbuntuoracular*
Linux-lowlatencyUbuntuupstream*
Linux-lowlatency-hwe-5.15Ubuntuesm-infra/focal*
Linux-lowlatency-hwe-5.15Ubuntufocal*
Linux-lowlatency-hwe-5.15Ubuntuupstream*
Linux-lowlatency-hwe-5.19Ubuntujammy*
Linux-lowlatency-hwe-5.19Ubuntuupstream*
Linux-lowlatency-hwe-6.11Ubuntunoble*
Linux-lowlatency-hwe-6.11Ubuntuupstream*
Linux-lowlatency-hwe-6.2Ubuntujammy*
Linux-lowlatency-hwe-6.2Ubuntuupstream*
Linux-lowlatency-hwe-6.5Ubuntujammy*
Linux-lowlatency-hwe-6.5Ubuntuupstream*
Linux-lowlatency-hwe-6.8Ubuntujammy*
Linux-lowlatency-hwe-6.8Ubuntuupstream*
Linux-lts-xenialUbuntuesm-infra-legacy/trusty*
Linux-lts-xenialUbuntutrusty*
Linux-lts-xenialUbuntutrusty/esm*
Linux-lts-xenialUbuntuupstream*
Linux-nvidiaUbuntujammy*
Linux-nvidiaUbuntunoble*
Linux-nvidiaUbuntuupstream*
Linux-nvidia-6.11Ubuntunoble*
Linux-nvidia-6.11Ubuntuupstream*
Linux-nvidia-6.2Ubuntujammy*
Linux-nvidia-6.2Ubuntuupstream*
Linux-nvidia-6.5Ubuntujammy*
Linux-nvidia-6.5Ubuntuupstream*
Linux-nvidia-6.8Ubuntujammy*
Linux-nvidia-6.8Ubuntuupstream*
Linux-nvidia-lowlatencyUbuntunoble*
Linux-nvidia-lowlatencyUbuntuupstream*
Linux-nvidia-tegraUbuntujammy*
Linux-nvidia-tegraUbuntunoble*
Linux-nvidia-tegraUbuntuupstream*
Linux-nvidia-tegra-5.15Ubuntuesm-infra/focal*
Linux-nvidia-tegra-5.15Ubuntufocal*
Linux-nvidia-tegra-5.15Ubuntuupstream*
Linux-nvidia-tegra-igxUbuntujammy*
Linux-nvidia-tegra-igxUbuntuupstream*
Linux-oemUbuntubionic*
Linux-oemUbuntuesm-infra/bionic*
Linux-oemUbuntuupstream*
Linux-oemUbuntuxenial*
Linux-oem-5.10Ubuntuesm-infra/focal*
Linux-oem-5.10Ubuntufocal*
Linux-oem-5.10Ubuntuupstream*
Linux-oem-5.13Ubuntuesm-infra/focal*
Linux-oem-5.13Ubuntufocal*
Linux-oem-5.13Ubuntuupstream*
Linux-oem-5.14Ubuntuesm-infra/focal*
Linux-oem-5.14Ubuntufocal*
Linux-oem-5.14Ubuntuupstream*
Linux-oem-5.17Ubuntujammy*
Linux-oem-5.17Ubuntuupstream*
Linux-oem-5.6Ubuntuesm-infra/focal*
Linux-oem-5.6Ubuntufocal*
Linux-oem-5.6Ubuntuupstream*
Linux-oem-6.0Ubuntujammy*
Linux-oem-6.0Ubuntuupstream*
Linux-oem-6.1Ubuntujammy*
Linux-oem-6.1Ubuntuupstream*
Linux-oem-6.11Ubuntunoble*
Linux-oem-6.11Ubuntuupstream*
Linux-oem-6.14Ubuntunoble*
Linux-oem-6.14Ubuntuupstream*
Linux-oem-6.17Ubuntuupstream*
Linux-oem-6.5Ubuntujammy*
Linux-oem-6.5Ubuntuupstream*
Linux-oem-6.8Ubuntunoble*
Linux-oem-6.8Ubuntuupstream*
Linux-oracleUbuntubionic*
Linux-oracleUbuntuesm-infra/bionic*
Linux-oracleUbuntuesm-infra/focal*
Linux-oracleUbuntuesm-infra/xenial*
Linux-oracleUbuntufocal*
Linux-oracleUbuntujammy*
Linux-oracleUbuntunoble*
Linux-oracleUbuntuoracular*
Linux-oracleUbuntuplucky*
Linux-oracleUbuntuupstream*
Linux-oracleUbuntuxenial*
Linux-oracle-5.0Ubuntubionic*
Linux-oracle-5.0Ubuntuesm-infra/bionic*
Linux-oracle-5.0Ubuntuupstream*
Linux-oracle-5.11Ubuntuesm-infra/focal*
Linux-oracle-5.11Ubuntufocal*
Linux-oracle-5.11Ubuntuupstream*
Linux-oracle-5.13Ubuntuesm-infra/focal*
Linux-oracle-5.13Ubuntufocal*
Linux-oracle-5.13Ubuntuupstream*
Linux-oracle-5.15Ubuntuesm-infra/focal*
Linux-oracle-5.15Ubuntufocal*
Linux-oracle-5.15Ubuntuupstream*
Linux-oracle-5.3Ubuntubionic*
Linux-oracle-5.3Ubuntuesm-infra/bionic*
Linux-oracle-5.3Ubuntuupstream*
Linux-oracle-5.4Ubuntubionic*
Linux-oracle-5.4Ubuntuesm-infra/bionic*
Linux-oracle-5.4Ubuntuupstream*
Linux-oracle-5.8Ubuntuesm-infra/focal*
Linux-oracle-5.8Ubuntufocal*
Linux-oracle-5.8Ubuntuupstream*
Linux-oracle-6.14Ubuntunoble*
Linux-oracle-6.14Ubuntuupstream*
Linux-oracle-6.5Ubuntujammy*
Linux-oracle-6.5Ubuntuupstream*
Linux-oracle-6.8Ubuntujammy*
Linux-oracle-6.8Ubuntuupstream*
Linux-raspiUbuntuesm-infra/focal*
Linux-raspiUbuntufocal*
Linux-raspiUbuntujammy*
Linux-raspiUbuntunoble*
Linux-raspiUbuntuoracular*
Linux-raspiUbuntuplucky*
Linux-raspiUbuntuupstream*
Linux-raspi-5.4Ubuntubionic*
Linux-raspi-5.4Ubuntuesm-infra/bionic*
Linux-raspi-5.4Ubuntuupstream*
Linux-raspi-realtimeUbuntunoble*
Linux-raspi-realtimeUbunturealtime/noble*
Linux-raspi-realtimeUbuntuupstream*
Linux-raspi2Ubuntubionic*
Linux-raspi2Ubuntuesm-infra/focal*
Linux-raspi2Ubuntufocal*
Linux-raspi2Ubuntuupstream*
Linux-raspi2Ubuntuxenial*
Linux-realtimeUbuntujammy*
Linux-realtimeUbuntunoble*
Linux-realtimeUbuntuoracular*
Linux-realtimeUbuntuplucky*
Linux-realtimeUbunturealtime/jammy*
Linux-realtimeUbunturealtime/noble*
Linux-realtimeUbuntuupstream*
Linux-realtime-6.14Ubunturealtime/noble*
Linux-realtime-6.14Ubuntuupstream*
Linux-realtime-6.8Ubunturealtime/jammy*
Linux-realtime-6.8Ubuntuupstream*
Linux-riscvUbuntuesm-infra/focal*
Linux-riscvUbuntufocal*
Linux-riscvUbuntujammy*
Linux-riscvUbuntunoble*
Linux-riscvUbuntuoracular*
Linux-riscvUbuntuplucky*
Linux-riscvUbuntuupstream*
Linux-riscv-5.11Ubuntuesm-infra/focal*
Linux-riscv-5.11Ubuntufocal*
Linux-riscv-5.11Ubuntuupstream*
Linux-riscv-5.15Ubuntuesm-infra/focal*
Linux-riscv-5.15Ubuntufocal*
Linux-riscv-5.15Ubuntuupstream*
Linux-riscv-5.19Ubuntujammy*
Linux-riscv-5.19Ubuntuupstream*
Linux-riscv-5.8Ubuntuesm-infra/focal*
Linux-riscv-5.8Ubuntufocal*
Linux-riscv-5.8Ubuntuupstream*
Linux-riscv-6.14Ubuntunoble*
Linux-riscv-6.14Ubuntuupstream*
Linux-riscv-6.5Ubuntujammy*
Linux-riscv-6.5Ubuntuupstream*
Linux-riscv-6.8Ubuntujammy*
Linux-riscv-6.8Ubuntuupstream*
Linux-starfive-5.19Ubuntujammy*
Linux-starfive-5.19Ubuntuupstream*
Linux-starfive-6.2Ubuntujammy*
Linux-starfive-6.2Ubuntuupstream*
Linux-starfive-6.5Ubuntujammy*
Linux-starfive-6.5Ubuntuupstream*
Linux-xilinxUbuntunoble*
Linux-xilinxUbuntuupstream*
Linux-xilinx-zynqmpUbuntuesm-infra/focal*
Linux-xilinx-zynqmpUbuntufocal*
Linux-xilinx-zynqmpUbuntujammy*
Linux-xilinx-zynqmpUbuntuupstream*

Extended Description

A race condition occurs within concurrent environments, and it is effectively a property of a code sequence. Depending on the context, a code sequence may be in the form of a function call, a small number of instructions, a series of program invocations, etc. A race condition violates these properties, which are closely related:

A race condition exists when an “interfering code sequence” can still access the shared resource, violating exclusivity. The interfering code sequence could be “trusted” or “untrusted.” A trusted interfering code sequence occurs within the product; it cannot be modified by the attacker, and it can only be invoked indirectly. An untrusted interfering code sequence can be authored directly by the attacker, and typically it is external to the vulnerable product.

Potential Mitigations

  • Minimize the usage of shared resources in order to remove as much complexity as possible from the control flow and to reduce the likelihood of unexpected conditions occurring.
  • Additionally, this will minimize the amount of synchronization necessary and may even help to reduce the likelihood of a denial of service where an attacker may be able to repeatedly trigger a critical section (CWE-400).

References