CVE-2022-49557: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: x86/fpu: KVM: Set the base guest FPU uABI size to sizeof(struct kvm_xsave) Set the starting uABI size of KVM's guest FPU to 'struct kvm_xsave', i.e. to KVM's historical uABI size. When saving FPU state for usersapce, KVM (well, now the FPU) sets the FP+SSE bits in the XSAVE header even if the host doesn't support XSAVE. Setting the XSAVE header allows the VM to be migrated to a host that does support XSAVE without the new host having to handle FPU state that may or may not be compatible with XSAVE. Setting the uABI size to the host's default size results in out-of-bounds writes (setting the FP+SSE bits) and data corruption (that is thankfully caught by KASAN) when running on hosts without XSAVE, e.g. on Core2 CPUs. WARN if the default size is larger than KVM's historical uABI size; all features that can push the FPU size beyond the historical size must be opt-in. ================================================================== BUG: KASAN: slab-out-of-bounds in fpu_copy_uabi_to_guest_fpstate+0x86/0x130 Read of size 8 at addr ffff888011e33a00 by task qemu-build/681 CPU: 1 PID: 681 Comm: qemu-build Not tainted 5.18.0-rc5-KASAN-amd64 #1 Hardware name: /DG35EC, BIOS ECG3510M.86A.0118.2010.0113.1426 01/13/2010 Call Trace: <TASK> dump_stack_lvl+0x34/0x45 print_report.cold+0x45/0x575 kasan_report+0x9b/0xd0 fpu_copy_uabi_to_guest_fpstate+0x86/0x130 kvm_arch_vcpu_ioctl+0x72a/0x1c50 [kvm] kvm_vcpu_ioctl+0x47f/0x7b0 [kvm] __x64_sys_ioctl+0x5de/0xc90 do_syscall_64+0x31/0x50 entry_SYSCALL_64_after_hwframe+0x44/0xae </TASK> Allocated by task 0: (stack is not available) The buggy address belongs to the object at ffff888011e33800 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 0 bytes to the right of 512-byte region [ffff888011e33800, ffff888011e33a00) The buggy address belongs to the physical page: page:0000000089cd4adb refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x11e30 head:0000000089cd4adb order:2 compound_mapcount:0 compound_pincount:0 flags: 0x4000000000010200(slab|head|zone=1) raw: 4000000000010200 dead000000000100 dead000000000122 ffff888001041c80 raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888011e33900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff888011e33980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff888011e33a00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ^ ffff888011e33a80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff888011e33b00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ================================================================== Disabling lock debugging due to kernel taint
AI Analysis
Technical Summary
CVE-2022-49557 is a vulnerability in the Linux kernel's handling of the floating-point unit (FPU) state within Kernel-based Virtual Machine (KVM) virtualization on x86 architectures. The issue arises from how KVM sets the base guest FPU user ABI (uABI) size to the size of the 'struct kvm_xsave'. This struct represents KVM's historical uABI size for saving the FPU state. The vulnerability manifests when KVM attempts to save the FPU state for userspace and sets the FP+SSE bits in the XSAVE header even if the host CPU does not support the XSAVE feature set. XSAVE is an instruction set extension used to save processor extended states, including floating-point and SIMD registers. The intent behind setting the XSAVE header is to allow virtual machines (VMs) to migrate seamlessly between hosts that do and do not support XSAVE, without the new host needing to handle potentially incompatible FPU states. However, when the uABI size is set to the host's default size rather than KVM's historical size, this leads to out-of-bounds memory writes during the setting of FP+SSE bits. This memory corruption is detected by Kernel Address Sanitizer (KASAN) as slab-out-of-bounds errors, indicating that KVM writes beyond the allocated memory region for the FPU state. The problem is particularly evident on older CPUs without XSAVE support, such as Intel Core2 processors. The vulnerability can cause data corruption and potentially destabilize the host kernel or the guest VM. The kernel logs show detailed KASAN error messages, including stack traces pointing to the faulty function 'fpu_copy_uabi_to_guest_fpstate'. The vulnerability is rooted in improper handling of the FPU state size and feature flags during virtualization operations, leading to memory safety violations. No known exploits are reported in the wild as of the publication date. The vulnerability affects specific Linux kernel versions identified by commit hashes, and it has been publicly disclosed without an assigned CVSS score. This issue is primarily relevant to environments running KVM virtualization on x86 hosts, especially those with older CPUs lacking XSAVE support.
Potential Impact
For European organizations, the impact of CVE-2022-49557 depends largely on their use of KVM virtualization on Linux hosts with older x86 CPUs. Organizations running virtualized workloads on legacy hardware, such as Intel Core2 or similar processors without XSAVE support, are at risk of memory corruption leading to potential host kernel crashes or guest VM instability. This can result in denial of service (DoS) conditions affecting critical services hosted in VMs, potentially disrupting business operations. Data corruption in the FPU state could also lead to incorrect computational results within VMs, impacting applications relying on floating-point calculations. Although no direct remote code execution or privilege escalation is indicated, the memory corruption vulnerability could be leveraged in complex attack chains if combined with other vulnerabilities. European data centers and cloud providers using KVM on older hardware may face increased operational risks and maintenance overhead. Additionally, organizations in sectors with high virtualization usage—such as finance, telecommunications, and research institutions—may experience service interruptions or require urgent patching. The lack of known exploits reduces immediate threat levels but does not eliminate the risk of future exploitation. Overall, the vulnerability poses a medium risk to availability and integrity of virtualized environments in Europe, especially where legacy hardware remains in use.
Mitigation Recommendations
To mitigate CVE-2022-49557, European organizations should: 1) Identify and inventory Linux hosts running KVM virtualization, focusing on those with older x86 CPUs lacking XSAVE support. 2) Apply the latest Linux kernel patches that address this vulnerability as soon as they become available from trusted sources or Linux distributions. Since no patch links are provided, organizations should monitor official Linux kernel repositories and distribution advisories for updates related to this CVE. 3) Where possible, upgrade hardware to CPUs that support XSAVE to avoid triggering the vulnerable code path. 4) Enable Kernel Address Sanitizer (KASAN) or similar kernel debugging tools in test environments to detect memory corruption issues early. 5) Implement strict VM migration policies to avoid migrating VMs to hosts with incompatible CPU features until patches are applied. 6) Regularly audit virtualization infrastructure for anomalous crashes or kernel warnings that may indicate exploitation attempts. 7) Consider isolating critical workloads from legacy hardware or using alternative virtualization technologies if patching or hardware upgrades are not immediately feasible. 8) Maintain robust backup and recovery procedures to minimize operational impact from potential DoS or data corruption incidents. These steps go beyond generic advice by emphasizing hardware assessment, proactive patch monitoring, and virtualization-specific operational controls.
Affected Countries
Germany, France, United Kingdom, Netherlands, Italy, Spain, Poland
CVE-2022-49557: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: x86/fpu: KVM: Set the base guest FPU uABI size to sizeof(struct kvm_xsave) Set the starting uABI size of KVM's guest FPU to 'struct kvm_xsave', i.e. to KVM's historical uABI size. When saving FPU state for usersapce, KVM (well, now the FPU) sets the FP+SSE bits in the XSAVE header even if the host doesn't support XSAVE. Setting the XSAVE header allows the VM to be migrated to a host that does support XSAVE without the new host having to handle FPU state that may or may not be compatible with XSAVE. Setting the uABI size to the host's default size results in out-of-bounds writes (setting the FP+SSE bits) and data corruption (that is thankfully caught by KASAN) when running on hosts without XSAVE, e.g. on Core2 CPUs. WARN if the default size is larger than KVM's historical uABI size; all features that can push the FPU size beyond the historical size must be opt-in. ================================================================== BUG: KASAN: slab-out-of-bounds in fpu_copy_uabi_to_guest_fpstate+0x86/0x130 Read of size 8 at addr ffff888011e33a00 by task qemu-build/681 CPU: 1 PID: 681 Comm: qemu-build Not tainted 5.18.0-rc5-KASAN-amd64 #1 Hardware name: /DG35EC, BIOS ECG3510M.86A.0118.2010.0113.1426 01/13/2010 Call Trace: <TASK> dump_stack_lvl+0x34/0x45 print_report.cold+0x45/0x575 kasan_report+0x9b/0xd0 fpu_copy_uabi_to_guest_fpstate+0x86/0x130 kvm_arch_vcpu_ioctl+0x72a/0x1c50 [kvm] kvm_vcpu_ioctl+0x47f/0x7b0 [kvm] __x64_sys_ioctl+0x5de/0xc90 do_syscall_64+0x31/0x50 entry_SYSCALL_64_after_hwframe+0x44/0xae </TASK> Allocated by task 0: (stack is not available) The buggy address belongs to the object at ffff888011e33800 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 0 bytes to the right of 512-byte region [ffff888011e33800, ffff888011e33a00) The buggy address belongs to the physical page: page:0000000089cd4adb refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x11e30 head:0000000089cd4adb order:2 compound_mapcount:0 compound_pincount:0 flags: 0x4000000000010200(slab|head|zone=1) raw: 4000000000010200 dead000000000100 dead000000000122 ffff888001041c80 raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888011e33900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff888011e33980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff888011e33a00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ^ ffff888011e33a80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff888011e33b00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ================================================================== Disabling lock debugging due to kernel taint
AI-Powered Analysis
Technical Analysis
CVE-2022-49557 is a vulnerability in the Linux kernel's handling of the floating-point unit (FPU) state within Kernel-based Virtual Machine (KVM) virtualization on x86 architectures. The issue arises from how KVM sets the base guest FPU user ABI (uABI) size to the size of the 'struct kvm_xsave'. This struct represents KVM's historical uABI size for saving the FPU state. The vulnerability manifests when KVM attempts to save the FPU state for userspace and sets the FP+SSE bits in the XSAVE header even if the host CPU does not support the XSAVE feature set. XSAVE is an instruction set extension used to save processor extended states, including floating-point and SIMD registers. The intent behind setting the XSAVE header is to allow virtual machines (VMs) to migrate seamlessly between hosts that do and do not support XSAVE, without the new host needing to handle potentially incompatible FPU states. However, when the uABI size is set to the host's default size rather than KVM's historical size, this leads to out-of-bounds memory writes during the setting of FP+SSE bits. This memory corruption is detected by Kernel Address Sanitizer (KASAN) as slab-out-of-bounds errors, indicating that KVM writes beyond the allocated memory region for the FPU state. The problem is particularly evident on older CPUs without XSAVE support, such as Intel Core2 processors. The vulnerability can cause data corruption and potentially destabilize the host kernel or the guest VM. The kernel logs show detailed KASAN error messages, including stack traces pointing to the faulty function 'fpu_copy_uabi_to_guest_fpstate'. The vulnerability is rooted in improper handling of the FPU state size and feature flags during virtualization operations, leading to memory safety violations. No known exploits are reported in the wild as of the publication date. The vulnerability affects specific Linux kernel versions identified by commit hashes, and it has been publicly disclosed without an assigned CVSS score. This issue is primarily relevant to environments running KVM virtualization on x86 hosts, especially those with older CPUs lacking XSAVE support.
Potential Impact
For European organizations, the impact of CVE-2022-49557 depends largely on their use of KVM virtualization on Linux hosts with older x86 CPUs. Organizations running virtualized workloads on legacy hardware, such as Intel Core2 or similar processors without XSAVE support, are at risk of memory corruption leading to potential host kernel crashes or guest VM instability. This can result in denial of service (DoS) conditions affecting critical services hosted in VMs, potentially disrupting business operations. Data corruption in the FPU state could also lead to incorrect computational results within VMs, impacting applications relying on floating-point calculations. Although no direct remote code execution or privilege escalation is indicated, the memory corruption vulnerability could be leveraged in complex attack chains if combined with other vulnerabilities. European data centers and cloud providers using KVM on older hardware may face increased operational risks and maintenance overhead. Additionally, organizations in sectors with high virtualization usage—such as finance, telecommunications, and research institutions—may experience service interruptions or require urgent patching. The lack of known exploits reduces immediate threat levels but does not eliminate the risk of future exploitation. Overall, the vulnerability poses a medium risk to availability and integrity of virtualized environments in Europe, especially where legacy hardware remains in use.
Mitigation Recommendations
To mitigate CVE-2022-49557, European organizations should: 1) Identify and inventory Linux hosts running KVM virtualization, focusing on those with older x86 CPUs lacking XSAVE support. 2) Apply the latest Linux kernel patches that address this vulnerability as soon as they become available from trusted sources or Linux distributions. Since no patch links are provided, organizations should monitor official Linux kernel repositories and distribution advisories for updates related to this CVE. 3) Where possible, upgrade hardware to CPUs that support XSAVE to avoid triggering the vulnerable code path. 4) Enable Kernel Address Sanitizer (KASAN) or similar kernel debugging tools in test environments to detect memory corruption issues early. 5) Implement strict VM migration policies to avoid migrating VMs to hosts with incompatible CPU features until patches are applied. 6) Regularly audit virtualization infrastructure for anomalous crashes or kernel warnings that may indicate exploitation attempts. 7) Consider isolating critical workloads from legacy hardware or using alternative virtualization technologies if patching or hardware upgrades are not immediately feasible. 8) Maintain robust backup and recovery procedures to minimize operational impact from potential DoS or data corruption incidents. These steps go beyond generic advice by emphasizing hardware assessment, proactive patch monitoring, and virtualization-specific operational controls.
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-26T02:08:31.591Z
- Cisa Enriched
- false
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d982bc4522896dcbe442c
Added to database: 5/21/2025, 9:08:59 AM
Last enriched: 6/29/2025, 10:25:55 PM
Last updated: 8/3/2025, 12:40:58 AM
Views: 12
Related Threats
CVE-2025-9091: Hard-coded Credentials in Tenda AC20
LowCVE-2025-9090: Command Injection in Tenda AC20
MediumCVE-2025-9092: CWE-400 Uncontrolled Resource Consumption in Legion of the Bouncy Castle Inc. Bouncy Castle for Java - BC-FJA 2.1.0
LowCVE-2025-9089: Stack-based Buffer Overflow in Tenda AC20
HighCVE-2025-9088: Stack-based Buffer Overflow in Tenda AC20
HighActions
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.