Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2024-50275— arm64/sve: Discard stale CPU state when handling SVE traps

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于处理SVE陷阱时的陈旧CPU状态存在问题。

CVSS 7.3 · High EPSS 0.24% · P14

Affected Version Matrix 12

VendorProduct Version RangeStatus
Linux Linux cccb78ce89c45a4414db712be4986edfb92434bd< 51d3d80a6dc314982a9a0aeb0961085922a1aa15 affected
cccb78ce89c45a4414db712be4986edfb92434bd< de529504b3274d57caf8f66800b714b0d3ee235a affected
cccb78ce89c45a4414db712be4986edfb92434bd< 51d11ea0250d6ee461987403bbfd4b2abb5613a7 affected
cccb78ce89c45a4414db712be4986edfb92434bd< fa9ce027b3ce37a2bb173bf2553b5caa438fd8c9 affected
cccb78ce89c45a4414db712be4986edfb92434bd< 751ecf6afd6568adc98f2a6052315552c0483d18 affected
5.13 affected
< 5.13 unaffected
5.15.174≤ 5.15.* unaffected
… +4 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-50275

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
arm64/sve: Discard stale CPU state when handling SVE traps
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: arm64/sve: Discard stale CPU state when handling SVE traps The logic for handling SVE traps manipulates saved FPSIMD/SVE state incorrectly, and a race with preemption can result in a task having TIF_SVE set and TIF_FOREIGN_FPSTATE clear even though the live CPU state is stale (e.g. with SVE traps enabled). This has been observed to result in warnings from do_sve_acc() where SVE traps are not expected while TIF_SVE is set: | if (test_and_set_thread_flag(TIF_SVE)) | WARN_ON(1); /* SVE access shouldn't have trapped */ Warnings of this form have been reported intermittently, e.g. https://lore.kernel.org/linux-arm-kernel/CA+G9fYtEGe_DhY2Ms7+L7NKsLYUomGsgqpdBj+QwDLeSg=JhGg@mail.gmail.com/ https://lore.kernel.org/linux-arm-kernel/000000000000511e9a060ce5a45c@google.com/ The race can occur when the SVE trap handler is preempted before and after manipulating the saved FPSIMD/SVE state, starting and ending on the same CPU, e.g. | void do_sve_acc(unsigned long esr, struct pt_regs *regs) | { | // Trap on CPU 0 with TIF_SVE clear, SVE traps enabled | // task->fpsimd_cpu is 0. | // per_cpu_ptr(&fpsimd_last_state, 0) is task. | | ... | | // Preempted; migrated from CPU 0 to CPU 1. | // TIF_FOREIGN_FPSTATE is set. | | get_cpu_fpsimd_context(); | | if (test_and_set_thread_flag(TIF_SVE)) | WARN_ON(1); /* SVE access shouldn't have trapped */ | | sve_init_regs() { | if (!test_thread_flag(TIF_FOREIGN_FPSTATE)) { | ... | } else { | fpsimd_to_sve(current); | current->thread.fp_type = FP_STATE_SVE; | } | } | | put_cpu_fpsimd_context(); | | // Preempted; migrated from CPU 1 to CPU 0. | // task->fpsimd_cpu is still 0 | // If per_cpu_ptr(&fpsimd_last_state, 0) is still task then: | // - Stale HW state is reused (with SVE traps enabled) | // - TIF_FOREIGN_FPSTATE is cleared | // - A return to userspace skips HW state restore | } Fix the case where the state is not live and TIF_FOREIGN_FPSTATE is set by calling fpsimd_flush_task_state() to detach from the saved CPU state. This ensures that a subsequent context switch will not reuse the stale CPU state, and will instead set TIF_FOREIGN_FPSTATE, forcing the new state to be reloaded from memory prior to a return to userspace.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于处理SVE陷阱时的陈旧CPU状态存在问题。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux cccb78ce89c45a4414db712be4986edfb92434bd ~ 51d3d80a6dc314982a9a0aeb0961085922a1aa15 -
Linux Linux 5.13 -

II. Public POCs for CVE-2024-50275

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-50275

请登录查看更多情报信息。

Patches & Fixes for CVE-2024-50275 (4)

Same Patch Batch · Linux · 2024-11-19 · 88 CVEs total

CVE-2024-50286 9.8 CRITICAL ksmbd: fix slab-use-after-free in ksmbd_smb2_session_create
CVE-2024-50283 9.8 CRITICAL ksmbd: fix slab-use-after-free in smb3_preauth_hash_rsp
CVE-2024-50276 9.8 CRITICAL net: vertexcom: mse102x: Fix possible double free of TX skb
CVE-2024-53066 9.8 CRITICAL nfs: Fix KMSAN warning in decode_getfattr_attrs()
CVE-2024-53058 9.4 CRITICAL net: stmmac: TSO: Fix unbalanced DMA map/unmap for non-paged SKB data
CVE-2024-53082 8.4 HIGH virtio_net: Add hash_key_length check
CVE-2024-50299 8.2 HIGH sctp: properly validate chunk size in sctp_sf_ootb()
CVE-2024-50293 7.8 HIGH net/smc: do not leave a dangling sk pointer in __smc_create()
CVE-2024-50291 7.8 HIGH media: dvb-core: add missing buffer index check
CVE-2024-50294 7.8 HIGH rxrpc: Fix missing locking causing hanging calls
CVE-2023-52921 7.8 HIGH drm/amdgpu: fix possible UAF in amdgpu_cs_pass1()
CVE-2024-50300 7.8 HIGH regulator: rtq2208: Fix uninitialized use of regulator_config
CVE-2024-50288 7.8 HIGH media: vivid: fix buffer overwrite when using > 32 buffers
CVE-2024-53076 7.8 HIGH iio: gts-helper: Fix memory leaks for the error path of iio_gts_build_avail_scale_table()
CVE-2024-53088 7.8 HIGH i40e: fix race condition by adding filter's intermediate sync state
CVE-2024-53080 7.8 HIGH drm/panthor: Lock XArray when getting entries for the VM
CVE-2024-53079 7.8 HIGH mm/thp: fix deferred split unqueue naming and locking
CVE-2024-53057 7.8 HIGH net/sched: stop qdisc_tree_reduce_backlog on TC_H_ROOT
CVE-2024-53044 7.8 HIGH net/sched: sch_api: fix xa_insert() error path in tcf_block_get_ext()
CVE-2024-50301 7.8 HIGH security/keys: fix slab-out-of-bounds in key_task_permission

Showing top 20 of 88 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2024-50275

No comments yet


Leave a comment