Linux Kernel up to 6.1.1 vmap state issue

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
4.4$0-$5k0.00

Summaryinfo

A vulnerability labeled as critical has been found in Linux Kernel up to 6.1.1. Affected is the function vmap. Such manipulation leads to state issue. This vulnerability is referenced as CVE-2022-50849. No exploit is available. The affected component should be upgraded.

Detailsinfo

A vulnerability was found in Linux Kernel up to 6.1.1 and classified as critical. Affected by this issue is the function vmap. The manipulation with an unknown input leads to a state issue vulnerability. Using CWE to declare the problem leads to CWE-371. The impact remains unknown. CVE summarizes:

In the Linux kernel, the following vulnerability has been resolved: pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP An oops can be induced by running 'cat /proc/kcore > /dev/null' on devices using pstore with the ram backend because kmap_atomic() assumes lowmem pages are accessible with __va(). Unable to handle kernel paging request at virtual address ffffff807ff2b000 Mem abort info: ESR = 0x96000006 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x06: level 2 translation fault Data abort info: ISV = 0, ISS = 0x00000006 CM = 0, WnR = 0 swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000081d87000 [ffffff807ff2b000] pgd=180000017fe18003, p4d=180000017fe18003, pud=180000017fe18003, pmd=0000000000000000 Internal error: Oops: 96000006 [#1] PREEMPT SMP Modules linked in: dm_integrity CPU: 7 PID: 21179 Comm: perf Not tainted 5.15.67-10882-ge4eb2eb988cd #1 baa443fb8e8477896a370b31a821eb2009f9bfba Hardware name: Google Lazor (rev3 - 8) (DT) pstate: a0400009 (NzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __memcpy+0x110/0x260 lr : vread+0x194/0x294 sp : ffffffc013ee39d0 x29: ffffffc013ee39f0 x28: 0000000000001000 x27: ffffff807ff2b000 x26: 0000000000001000 x25: ffffffc0085a2000 x24: ffffff802d4b3000 x23: ffffff80f8a60000 x22: ffffff802d4b3000 x21: ffffffc0085a2000 x20: ffffff8080b7bc68 x19: 0000000000001000 x18: 0000000000000000 x17: 0000000000000000 x16: 0000000000000000 x15: ffffffd3073f2e60 x14: ffffffffad588000 x13: 0000000000000000 x12: 0000000000000001 x11: 00000000000001a2 x10: 00680000fff2bf0b x9 : 03fffffff807ff2b x8 : 0000000000000001 x7 : 0000000000000000 x6 : 0000000000000000 x5 : ffffff802d4b4000 x4 : ffffff807ff2c000 x3 : ffffffc013ee3a78 x2 : 0000000000001000 x1 : ffffff807ff2b000 x0 : ffffff802d4b3000 Call trace: __memcpy+0x110/0x260 read_kcore+0x584/0x778 proc_reg_read+0xb4/0xe4 During early boot, memblock reserves the pages for the ramoops reserved memory node in DT that would otherwise be part of the direct lowmem mapping. Pstore's ram backend reuses those reserved pages to change the memory type (writeback or non-cached) by passing the pages to vmap() (see pfn_to_page() usage in persistent_ram_vmap() for more details) with specific flags. When read_kcore() starts iterating over the vmalloc region, it runs over the virtual address that vmap() returned for ramoops. In aligned_vread() the virtual address is passed to vmalloc_to_page() which returns the page struct for the reserved lowmem area. That lowmem page is passed to kmap_atomic(), which effectively calls page_to_virt() that assumes a lowmem page struct must be directly accessible with __va() and friends. These pages are mapped via vmap() though, and the lowmem mapping was never made, so accessing them via the lowmem virtual address oopses like above. Let's side-step this problem by passing VM_IOREMAP to vmap(). This will tell vread() to not include the ramoops region in the kcore. Instead the area will look like a bunch of zeros. The alternative is to teach kmap() about vmalloc areas that intersect with lowmem. Presumably such a change isn't a one-liner, and there isn't much interest in inspecting the ramoops region in kcore files anyway, so the most expedient route is taken for now.

The advisory is available at git.kernel.org. This vulnerability is handled as CVE-2022-50849 since 12/30/2025. The exploitation is known to be difficult. Technical details are known, but there is no available exploit. The structure of the vulnerability defines a possible price range of USD $0-$5k at the moment (estimation calculated on 04/26/2026).

The vulnerability scanner Nessus provides a plugin with the ID 281535 (Linux Distros Unpatched Vulnerability : CVE-2022-50849), which helps to determine the existence of the flaw in a target environment.

Upgrading to version 4.9.337, 4.14.303, 4.19.270, 5.4.229, 5.10.163, 5.15.86, 6.0.16 or 6.1.2 eliminates this vulnerability. Applying the patch 1579bed1613802a323a1e14567faa95c149e105e/fdebcc33b663d2e8da937653ddfbfc1315047eaa/6d9460214e363e1f3d0756ee5d947e76e3e6f86c/4d3126f242a0090342ffe925c35fb4f4252b7562/295f59cd2cdeed841850d02dddde3a122cbf6fc6/ebc73c4f266281e2cad1a372ecd81572d95375b6/69dbff7d2681c55a4d979fd9b75576303e69979f/2f82381d0681b10f9ddd27be98c27363b5a3cd1c/e6b842741b4f39007215fd7e545cb55aa3d358a2 is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. The best possible mitigation is suggested to be upgrading to the latest version.

The vulnerability is also documented in the databases at Tenable (281535) and CERT Bund (WID-SEC-2025-2941). If you want to get best quality of vulnerability data, you may have to visit VulDB.

Affected

  • Debian Linux
  • Amazon Linux 2
  • IBM Power Hardware Management Console
  • Red Hat Enterprise Linux
  • Ubuntu Linux
  • SUSE Linux
  • Oracle Linux
  • Open Source Linux Kernel
  • RESF Rocky Linux
  • IBM DataPower Gateway

Productinfo

Type

Vendor

Name

Version

License

Website

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 4.6
VulDB Meta Temp Score: 4.4

VulDB Base Score: 4.6
VulDB Temp Score: 4.4
VulDB Vector: 🔒
VulDB Reliability: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍

Exploitinginfo

Class: State issue
CWE: CWE-371
CAPEC: 🔒
ATT&CK: 🔒

Physical: No
Local: No
Remote: Partially

Availability: 🔒
Status: Not defined

EPSS Score: 🔒
EPSS Percentile: 🔒

Price Prediction: 🔍
Current Price Estimation: 🔒

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Nessus ID: 281535
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2022-50849

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

0-Day Time: 🔒

Upgrade: Kernel 4.9.337/4.14.303/4.19.270/5.4.229/5.10.163/5.15.86/6.0.16/6.1.2
Patch: 1579bed1613802a323a1e14567faa95c149e105e/fdebcc33b663d2e8da937653ddfbfc1315047eaa/6d9460214e363e1f3d0756ee5d947e76e3e6f86c/4d3126f242a0090342ffe925c35fb4f4252b7562/295f59cd2cdeed841850d02dddde3a122cbf6fc6/ebc73c4f266281e2cad1a372ecd81572d95375b6/69dbff7d2681c55a4d979fd9b75576303e69979f/2f82381d0681b10f9ddd27be98c27363b5a3cd1c/e6b842741b4f39007215fd7e545cb55aa3d358a2

Timelineinfo

12/30/2025 Advisory disclosed
12/30/2025 +0 days CVE reserved
12/30/2025 +0 days VulDB entry created
04/26/2026 +117 days VulDB entry last update

Sourcesinfo

Vendor: kernel.org

Advisory: git.kernel.org
Status: Confirmed

CVE: CVE-2022-50849 (🔒)
GCVE (CVE): GCVE-0-2022-50849
GCVE (VulDB): GCVE-100-338810
CERT Bund: WID-SEC-2025-2941 - Linux Kernel: Mehrere Schwachstellen ermöglichen Denial of Service

Entryinfo

Created: 12/30/2025 15:41
Updated: 04/26/2026 02:53
Changes: 12/30/2025 15:41 (58), 12/31/2025 20:58 (7), 01/01/2026 11:04 (2), 01/27/2026 16:11 (1), 04/26/2026 02:53 (1)
Complete: 🔍
Cache ID: 216::103

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Discussion

No comments yet. Languages: en.

Please log in to comment.

Do you need the next level of professionalism?

Upgrade your account now!