CVE-2022-49001 riscv: fix race when vmap stack overflow

High 7.0 Published Updated

A race condition in the Linux kernel's RISC-V vmap stack overflow handling can lead to system instability or denial of service.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2022-49001?

CVE-2022-49001 is a high-severity vulnerability in Linux kernel, published on 21 Oct 2024. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

In the Linux kernel, the following vulnerability has been resolved:

riscv: fix race when vmap stack overflow

Currently, when detecting vmap stack overflow, riscv firstly switches to the so called shadow stack, then use this shadow stack to call the get_overflow_stack() to get the overflow stack. However, there's a race here if two or more harts use the same shadow stack at the same time.

To solve this race, we introduce spin_shadow_stack atomic var, which will be swap between its own address and 0 in atomic way, when the var is set, it means the shadow_stack is being used; when the var is cleared, it means the shadow_stack isn't being used.

[Palmer: Add AQ to the swap, and also some comments.]

Weakness: CWE-362

Which versions are affected by CVE-2022-49001?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2022-49001?

Apply the vendor's patch.

Is CVE-2022-49001 being exploited?

There is no known exploitation of CVE-2022-49001 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as DEBIAN-CVE-2022-49001, GHSA-5gxq-g22h-vg26, UBUNTU-CVE-2022-49001.

Is CVE-2022-49001 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free