CVE-2024-58018: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: nvkm: correctly calculate the available space of the GSP cmdq buffer r535_gsp_cmdq_push() waits for the available page in the GSP cmdq buffer when handling a large RPC request. When it sees at least one available page in the cmdq, it quits the waiting with the amount of free buffer pages in the queue. Unfortunately, it always takes the [write pointer, buf_size) as available buffer pages before rolling back and wrongly calculates the size of the data should be copied. Thus, it can overwrite the RPC request that GSP is currently reading, which causes GSP hang due to corrupted RPC request: [ 549.209389] ------------[ cut here ]------------ [ 549.214010] WARNING: CPU: 8 PID: 6314 at drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:116 r535_gsp_msgq_wait+0xd0/0x190 [nvkm] [ 549.225678] Modules linked in: nvkm(E+) gsp_log(E) snd_seq_dummy(E) snd_hrtimer(E) snd_seq(E) snd_timer(E) snd_seq_device(E) snd(E) soundcore(E) rfkill(E) qrtr(E) vfat(E) fat(E) ipmi_ssif(E) amd_atl(E) intel_rapl_msr(E) intel_rapl_common(E) mlx5_ib(E) amd64_edac(E) edac_mce_amd(E) kvm_amd(E) ib_uverbs(E) kvm(E) ib_core(E) acpi_ipmi(E) ipmi_si(E) mxm_wmi(E) ipmi_devintf(E) rapl(E) i2c_piix4(E) wmi_bmof(E) joydev(E) ptdma(E) acpi_cpufreq(E) k10temp(E) pcspkr(E) ipmi_msghandler(E) xfs(E) libcrc32c(E) ast(E) i2c_algo_bit(E) crct10dif_pclmul(E) drm_shmem_helper(E) nvme_tcp(E) crc32_pclmul(E) ahci(E) drm_kms_helper(E) libahci(E) nvme_fabrics(E) crc32c_intel(E) nvme(E) cdc_ether(E) mlx5_core(E) nvme_core(E) usbnet(E) drm(E) libata(E) ccp(E) ghash_clmulni_intel(E) mii(E) t10_pi(E) mlxfw(E) sp5100_tco(E) psample(E) pci_hyperv_intf(E) wmi(E) dm_multipath(E) sunrpc(E) dm_mirror(E) dm_region_hash(E) dm_log(E) dm_mod(E) be2iscsi(E) bnx2i(E) cnic(E) uio(E) cxgb4i(E) cxgb4(E) tls(E) libcxgbi(E) libcxgb(E) qla4xxx(E) [ 549.225752] iscsi_boot_sysfs(E) iscsi_tcp(E) libiscsi_tcp(E) libiscsi(E) scsi_transport_iscsi(E) fuse(E) [last unloaded: gsp_log(E)] [ 549.326293] CPU: 8 PID: 6314 Comm: insmod Tainted: G E 6.9.0-rc6+ #1 [ 549.334039] Hardware name: ASRockRack 1U1G-MILAN/N/ROMED8-NL, BIOS L3.12E 09/06/2022 [ 549.341781] RIP: 0010:r535_gsp_msgq_wait+0xd0/0x190 [nvkm] [ 549.347343] Code: 08 00 00 89 da c1 e2 0c 48 8d ac 11 00 10 00 00 48 8b 0c 24 48 85 c9 74 1f c1 e0 0c 4c 8d 6d 30 83 e8 30 89 01 e9 68 ff ff ff <0f> 0b 49 c7 c5 92 ff ff ff e9 5a ff ff ff ba ff ff ff ff be c0 0c [ 549.366090] RSP: 0018:ffffacbccaaeb7d0 EFLAGS: 00010246 [ 549.371315] RAX: 0000000000000000 RBX: 0000000000000012 RCX: 0000000000923e28 [ 549.378451] RDX: 0000000000000000 RSI: 0000000055555554 RDI: ffffacbccaaeb730 [ 549.385590] RBP: 0000000000000001 R08: ffff8bd14d235f70 R09: ffff8bd14d235f70 [ 549.392721] R10: 0000000000000002 R11: ffff8bd14d233864 R12: 0000000000000020 [ 549.399854] R13: ffffacbccaaeb818 R14: 0000000000000020 R15: ffff8bb298c67000 [ 549.406988] FS: 00007f5179244740(0000) GS:ffff8bd14d200000(0000) knlGS:0000000000000000 [ 549.415076] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 549.420829] CR2: 00007fa844000010 CR3: 00000001567dc005 CR4: 0000000000770ef0 [ 549.427963] PKRU: 55555554 [ 549.430672] Call Trace: [ 549.433126] <TASK> [ 549.435233] ? __warn+0x7f/0x130 [ 549.438473] ? r535_gsp_msgq_wait+0xd0/0x190 [nvkm] [ 549.443426] ? report_bug+0x18a/0x1a0 [ 549.447098] ? handle_bug+0x3c/0x70 [ 549.450589] ? exc_invalid_op+0x14/0x70 [ 549.454430] ? asm_exc_invalid_op+0x16/0x20 [ 549.458619] ? r535_gsp_msgq_wait+0xd0/0x190 [nvkm] [ 549.463565] r535_gsp_msg_recv+0x46/0x230 [nvkm] [ 549.468257] r535_gsp_rpc_push+0x106/0x160 [nvkm] [ 549.473033] r535_gsp_rpc_rm_ctrl_push+0x40/0x130 [nvkm] [ 549.478422] nvidia_grid_init_vgpu_types+0xbc/0xe0 [nvkm] [ 549.483899] nvidia_grid_init+0xb1/0xd0 [nvkm] [ 549.488420] ? srso_alias_return_thunk+0x5/0xfbef5 [ 549.493213] nvkm_device_pci_probe+0x305/0x420 [nvkm] [ 549.498338] local_pci_probe+0x46/ ---truncated---
AI Analysis
Technical Summary
CVE-2024-58018 is a vulnerability identified in the Linux kernel, specifically within the Nouveau driver's handling of the NVIDIA GPU's GSP (Graphics System Processor) command queue buffer. The issue arises in the function r535_gsp_cmdq_push(), which manages the queuing of RPC (Remote Procedure Call) requests to the GSP. The vulnerability is due to an incorrect calculation of the available space in the GSP cmdq buffer. The function prematurely assumes the available buffer pages as the range from the write pointer to the buffer size without properly accounting for buffer wrap-around. This miscalculation leads to an incorrect determination of how much data can be safely copied into the buffer. Consequently, it can overwrite the RPC request currently being processed by the GSP, causing data corruption. The corrupted RPC request results in the GSP hanging, effectively causing a denial of service (DoS) condition. The kernel logs indicate a warning and a stack trace pointing to the r535_gsp_msgq_wait() function, confirming the hang due to corrupted RPC requests. This vulnerability affects Linux kernel versions containing the Nouveau driver with the r535 GSP implementation, as indicated by the affected commit hashes. No public exploits are known at this time, and no CVSS score has been assigned yet. The issue is technical and specific to GPU command queue management, impacting systems using the Nouveau open-source driver for NVIDIA GPUs. The vulnerability can cause system instability or crashes when processing large RPC requests through the GSP cmdq buffer, potentially affecting GPU-accelerated workloads or virtual GPU environments relying on this driver.
Potential Impact
For European organizations, the impact of CVE-2024-58018 primarily concerns systems running Linux with NVIDIA GPUs using the Nouveau driver, especially in environments where GPU acceleration is critical, such as data centers, cloud providers, research institutions, and enterprises relying on GPU virtualization or compute workloads. The vulnerability can lead to GPU hangs and kernel warnings, resulting in system instability or crashes. This can cause denial of service on affected machines, disrupting business operations, especially in high-availability or performance-sensitive environments. Organizations using virtual GPU setups or GPU-accelerated applications may experience degraded service or outages. Although no remote code execution or privilege escalation is indicated, the DoS impact can affect service continuity and reliability. The lack of known exploits reduces immediate risk, but the vulnerability should be addressed promptly to prevent potential exploitation or accidental system failures. The impact is more pronounced in sectors with heavy Linux and GPU usage, such as scientific computing, financial services, telecommunications, and cloud infrastructure providers within Europe.
Mitigation Recommendations
1. Apply Kernel Updates: Monitor Linux kernel releases and apply patches that fix this vulnerability as soon as they become available. Since the issue is in the Nouveau driver, ensure the kernel version includes the corrected r535_gsp_cmdq_push() function logic. 2. Use Proprietary NVIDIA Drivers: Where feasible, consider using the official NVIDIA proprietary drivers instead of Nouveau, as this vulnerability is specific to the Nouveau driver implementation. 3. Limit Exposure: For critical systems, restrict access and usage of GPU resources to trusted workloads and users to minimize the risk of triggering the vulnerability. 4. Monitor System Logs: Implement monitoring for kernel warnings or GPU-related errors that may indicate attempts to exploit or accidental triggering of this vulnerability. 5. Test Updates in Staging: Before deploying kernel updates in production, test them in staging environments to ensure stability and compatibility with existing GPU workloads. 6. Coordinate with Vendors: Engage with Linux distribution maintainers and hardware vendors for timely updates and guidance. 7. Consider Workarounds: If immediate patching is not possible, consider disabling GPU acceleration features relying on the Nouveau driver or isolating affected systems until patched.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Denmark, Ireland
CVE-2024-58018: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: nvkm: correctly calculate the available space of the GSP cmdq buffer r535_gsp_cmdq_push() waits for the available page in the GSP cmdq buffer when handling a large RPC request. When it sees at least one available page in the cmdq, it quits the waiting with the amount of free buffer pages in the queue. Unfortunately, it always takes the [write pointer, buf_size) as available buffer pages before rolling back and wrongly calculates the size of the data should be copied. Thus, it can overwrite the RPC request that GSP is currently reading, which causes GSP hang due to corrupted RPC request: [ 549.209389] ------------[ cut here ]------------ [ 549.214010] WARNING: CPU: 8 PID: 6314 at drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:116 r535_gsp_msgq_wait+0xd0/0x190 [nvkm] [ 549.225678] Modules linked in: nvkm(E+) gsp_log(E) snd_seq_dummy(E) snd_hrtimer(E) snd_seq(E) snd_timer(E) snd_seq_device(E) snd(E) soundcore(E) rfkill(E) qrtr(E) vfat(E) fat(E) ipmi_ssif(E) amd_atl(E) intel_rapl_msr(E) intel_rapl_common(E) mlx5_ib(E) amd64_edac(E) edac_mce_amd(E) kvm_amd(E) ib_uverbs(E) kvm(E) ib_core(E) acpi_ipmi(E) ipmi_si(E) mxm_wmi(E) ipmi_devintf(E) rapl(E) i2c_piix4(E) wmi_bmof(E) joydev(E) ptdma(E) acpi_cpufreq(E) k10temp(E) pcspkr(E) ipmi_msghandler(E) xfs(E) libcrc32c(E) ast(E) i2c_algo_bit(E) crct10dif_pclmul(E) drm_shmem_helper(E) nvme_tcp(E) crc32_pclmul(E) ahci(E) drm_kms_helper(E) libahci(E) nvme_fabrics(E) crc32c_intel(E) nvme(E) cdc_ether(E) mlx5_core(E) nvme_core(E) usbnet(E) drm(E) libata(E) ccp(E) ghash_clmulni_intel(E) mii(E) t10_pi(E) mlxfw(E) sp5100_tco(E) psample(E) pci_hyperv_intf(E) wmi(E) dm_multipath(E) sunrpc(E) dm_mirror(E) dm_region_hash(E) dm_log(E) dm_mod(E) be2iscsi(E) bnx2i(E) cnic(E) uio(E) cxgb4i(E) cxgb4(E) tls(E) libcxgbi(E) libcxgb(E) qla4xxx(E) [ 549.225752] iscsi_boot_sysfs(E) iscsi_tcp(E) libiscsi_tcp(E) libiscsi(E) scsi_transport_iscsi(E) fuse(E) [last unloaded: gsp_log(E)] [ 549.326293] CPU: 8 PID: 6314 Comm: insmod Tainted: G E 6.9.0-rc6+ #1 [ 549.334039] Hardware name: ASRockRack 1U1G-MILAN/N/ROMED8-NL, BIOS L3.12E 09/06/2022 [ 549.341781] RIP: 0010:r535_gsp_msgq_wait+0xd0/0x190 [nvkm] [ 549.347343] Code: 08 00 00 89 da c1 e2 0c 48 8d ac 11 00 10 00 00 48 8b 0c 24 48 85 c9 74 1f c1 e0 0c 4c 8d 6d 30 83 e8 30 89 01 e9 68 ff ff ff <0f> 0b 49 c7 c5 92 ff ff ff e9 5a ff ff ff ba ff ff ff ff be c0 0c [ 549.366090] RSP: 0018:ffffacbccaaeb7d0 EFLAGS: 00010246 [ 549.371315] RAX: 0000000000000000 RBX: 0000000000000012 RCX: 0000000000923e28 [ 549.378451] RDX: 0000000000000000 RSI: 0000000055555554 RDI: ffffacbccaaeb730 [ 549.385590] RBP: 0000000000000001 R08: ffff8bd14d235f70 R09: ffff8bd14d235f70 [ 549.392721] R10: 0000000000000002 R11: ffff8bd14d233864 R12: 0000000000000020 [ 549.399854] R13: ffffacbccaaeb818 R14: 0000000000000020 R15: ffff8bb298c67000 [ 549.406988] FS: 00007f5179244740(0000) GS:ffff8bd14d200000(0000) knlGS:0000000000000000 [ 549.415076] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 549.420829] CR2: 00007fa844000010 CR3: 00000001567dc005 CR4: 0000000000770ef0 [ 549.427963] PKRU: 55555554 [ 549.430672] Call Trace: [ 549.433126] <TASK> [ 549.435233] ? __warn+0x7f/0x130 [ 549.438473] ? r535_gsp_msgq_wait+0xd0/0x190 [nvkm] [ 549.443426] ? report_bug+0x18a/0x1a0 [ 549.447098] ? handle_bug+0x3c/0x70 [ 549.450589] ? exc_invalid_op+0x14/0x70 [ 549.454430] ? asm_exc_invalid_op+0x16/0x20 [ 549.458619] ? r535_gsp_msgq_wait+0xd0/0x190 [nvkm] [ 549.463565] r535_gsp_msg_recv+0x46/0x230 [nvkm] [ 549.468257] r535_gsp_rpc_push+0x106/0x160 [nvkm] [ 549.473033] r535_gsp_rpc_rm_ctrl_push+0x40/0x130 [nvkm] [ 549.478422] nvidia_grid_init_vgpu_types+0xbc/0xe0 [nvkm] [ 549.483899] nvidia_grid_init+0xb1/0xd0 [nvkm] [ 549.488420] ? srso_alias_return_thunk+0x5/0xfbef5 [ 549.493213] nvkm_device_pci_probe+0x305/0x420 [nvkm] [ 549.498338] local_pci_probe+0x46/ ---truncated---
AI-Powered Analysis
Technical Analysis
CVE-2024-58018 is a vulnerability identified in the Linux kernel, specifically within the Nouveau driver's handling of the NVIDIA GPU's GSP (Graphics System Processor) command queue buffer. The issue arises in the function r535_gsp_cmdq_push(), which manages the queuing of RPC (Remote Procedure Call) requests to the GSP. The vulnerability is due to an incorrect calculation of the available space in the GSP cmdq buffer. The function prematurely assumes the available buffer pages as the range from the write pointer to the buffer size without properly accounting for buffer wrap-around. This miscalculation leads to an incorrect determination of how much data can be safely copied into the buffer. Consequently, it can overwrite the RPC request currently being processed by the GSP, causing data corruption. The corrupted RPC request results in the GSP hanging, effectively causing a denial of service (DoS) condition. The kernel logs indicate a warning and a stack trace pointing to the r535_gsp_msgq_wait() function, confirming the hang due to corrupted RPC requests. This vulnerability affects Linux kernel versions containing the Nouveau driver with the r535 GSP implementation, as indicated by the affected commit hashes. No public exploits are known at this time, and no CVSS score has been assigned yet. The issue is technical and specific to GPU command queue management, impacting systems using the Nouveau open-source driver for NVIDIA GPUs. The vulnerability can cause system instability or crashes when processing large RPC requests through the GSP cmdq buffer, potentially affecting GPU-accelerated workloads or virtual GPU environments relying on this driver.
Potential Impact
For European organizations, the impact of CVE-2024-58018 primarily concerns systems running Linux with NVIDIA GPUs using the Nouveau driver, especially in environments where GPU acceleration is critical, such as data centers, cloud providers, research institutions, and enterprises relying on GPU virtualization or compute workloads. The vulnerability can lead to GPU hangs and kernel warnings, resulting in system instability or crashes. This can cause denial of service on affected machines, disrupting business operations, especially in high-availability or performance-sensitive environments. Organizations using virtual GPU setups or GPU-accelerated applications may experience degraded service or outages. Although no remote code execution or privilege escalation is indicated, the DoS impact can affect service continuity and reliability. The lack of known exploits reduces immediate risk, but the vulnerability should be addressed promptly to prevent potential exploitation or accidental system failures. The impact is more pronounced in sectors with heavy Linux and GPU usage, such as scientific computing, financial services, telecommunications, and cloud infrastructure providers within Europe.
Mitigation Recommendations
1. Apply Kernel Updates: Monitor Linux kernel releases and apply patches that fix this vulnerability as soon as they become available. Since the issue is in the Nouveau driver, ensure the kernel version includes the corrected r535_gsp_cmdq_push() function logic. 2. Use Proprietary NVIDIA Drivers: Where feasible, consider using the official NVIDIA proprietary drivers instead of Nouveau, as this vulnerability is specific to the Nouveau driver implementation. 3. Limit Exposure: For critical systems, restrict access and usage of GPU resources to trusted workloads and users to minimize the risk of triggering the vulnerability. 4. Monitor System Logs: Implement monitoring for kernel warnings or GPU-related errors that may indicate attempts to exploit or accidental triggering of this vulnerability. 5. Test Updates in Staging: Before deploying kernel updates in production, test them in staging environments to ensure stability and compatibility with existing GPU workloads. 6. Coordinate with Vendors: Engage with Linux distribution maintainers and hardware vendors for timely updates and guidance. 7. Consider Workarounds: If immediate patching is not possible, consider disabling GPU acceleration features relying on the Nouveau driver or isolating affected systems until patched.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- Linux
- Date Reserved
- 2025-02-27T02:10:48.228Z
- Cisa Enriched
- false
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9823c4522896dcbded0d
Added to database: 5/21/2025, 9:08:51 AM
Last enriched: 6/28/2025, 9:57:00 AM
Last updated: 8/12/2025, 8:02:35 PM
Views: 11
Related Threats
CVE-2025-8878: CWE-94 Improper Control of Generation of Code ('Code Injection') in properfraction Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress
MediumCVE-2025-8143: CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in pencidesign Soledad
MediumCVE-2025-8142: CWE-98 Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion') in pencidesign Soledad
HighCVE-2025-8105: CWE-94 Improper Control of Generation of Code ('Code Injection') in pencidesign Soledad
HighCVE-2025-8719: CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in reubenthiessen Translate This gTranslate Shortcode
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.