CVE-2022-49760 Vulnerability Analysis & Exploit Details

CVE-2022-49760
Vulnerability Scoring

5.5
/10
Significant Risk

Security assessments indicate that CVE-2022-49760 presents a notable risk, potentially requiring prompt mitigation.

Attack Complexity Details

  • Attack Complexity: Low
    Exploits can be performed without significant complexity or special conditions.
  • Attack Vector: Local
    Vulnerability requires local system access.
  • Privileges Required: Low
    Some privileges are necessary to exploit the vulnerability.
  • Scope: Unchanged
    Exploit remains within the originally vulnerable component.
  • User Interaction: None
    No user interaction is necessary for exploitation.

CVE-2022-49760 Details

Status: Analyzed

Last updated: 🕔 29 Oct 2025, 17:16 UTC
Originally published on: 🕔 27 Mar 2025, 17:15 UTC

Time between publication and last update: 216 days

CVSS Release: version 3

CVSS3 Source

nvd@nist.gov

CVSS3 Type

Primary

CVSS3 Vector

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

CVE-2022-49760 Vulnerability Summary

CVE-2022-49760: In the Linux kernel, the following vulnerability has been resolved: mm/hugetlb: fix PTE marker handling in hugetlb_change_protection() Patch series "mm/hugetlb: uffd-wp fixes for hugetlb_change_protection()". Playing with virtio-mem and background snapshots (using uffd-wp) on hugetlb in QEMU, I managed to trigger a VM_BUG_ON(). Looking into the details, hugetlb_change_protection() seems to not handle uffd-wp correctly in all cases. Patch #1 fixes my test case. I don't have reproducers for patch #2, as it requires running into migration entries. I did not yet check in detail yet if !hugetlb code requires similar care. This patch (of 2): There are two problematic cases when stumbling over a PTE marker in hugetlb_change_protection(): (1) We protect an uffd-wp PTE marker a second time using uffd-wp: we will end up in the "!huge_pte_none(pte)" case and mess up the PTE marker. (2) We unprotect a uffd-wp PTE marker: we will similarly end up in the "!huge_pte_none(pte)" case even though we cleared the PTE, because the "pte" variable is stale. We'll mess up the PTE marker. For example, if we later stumble over such a "wrongly modified" PTE marker, we'll treat it like a present PTE that maps some garbage page. This can, for example, be triggered by mapping a memfd backed by huge pages, registering uffd-wp, uffd-wp'ing an unmapped page and (a) uffd-wp'ing it a second time; or (b) uffd-unprotecting it; or (c) unregistering uffd-wp. Then, ff we trigger fallocate(FALLOC_FL_PUNCH_HOLE) on that file range, we will run into a VM_BUG_ON: [ 195.039560] page:00000000ba1f2987 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x0 [ 195.039565] flags: 0x7ffffc0001000(reserved|node=0|zone=0|lastcpupid=0x1fffff) [ 195.039568] raw: 0007ffffc0001000 ffffe742c0000008 ffffe742c0000008 0000000000000000 [ 195.039569] raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000 [ 195.039569] page dumped because: VM_BUG_ON_PAGE(compound && !PageHead(page)) [ 195.039573] ------------[ cut here ]------------ [ 195.039574] kernel BUG at mm/rmap.c:1346! [ 195.039579] invalid opcode: 0000 [#1] PREEMPT SMP NOPTI [ 195.039581] CPU: 7 PID: 4777 Comm: qemu-system-x86 Not tainted 6.0.12-200.fc36.x86_64 #1 [ 195.039583] Hardware name: LENOVO 20WNS1F81N/20WNS1F81N, BIOS N35ET50W (1.50 ) 09/15/2022 [ 195.039584] RIP: 0010:page_remove_rmap+0x45b/0x550 [ 195.039588] Code: [...] [ 195.039589] RSP: 0018:ffffbc03c3633ba8 EFLAGS: 00010292 [ 195.039591] RAX: 0000000000000040 RBX: ffffe742c0000000 RCX: 0000000000000000 [ 195.039592] RDX: 0000000000000002 RSI: ffffffff8e7aac1a RDI: 00000000ffffffff [ 195.039592] RBP: 0000000000000001 R08: 0000000000000000 R09: ffffbc03c3633a08 [ 195.039593] R10: 0000000000000003 R11: ffffffff8f146328 R12: ffff9b04c42754b0 [ 195.039594] R13: ffffffff8fcc6328 R14: ffffbc03c3633c80 R15: ffff9b0484ab9100 [ 195.039595] FS: 00007fc7aaf68640(0000) GS:ffff9b0bbf7c0000(0000) knlGS:0000000000000000 [ 195.039596] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 195.039597] CR2: 000055d402c49110 CR3: 0000000159392003 CR4: 0000000000772ee0 [ 195.039598] PKRU: 55555554 [ 195.039599] Call Trace: [ 195.039600] <TASK> [ 195.039602] __unmap_hugepage_range+0x33b/0x7d0 [ 195.039605] unmap_hugepage_range+0x55/0x70 [ 195.039608] hugetlb_vmdelete_list+0x77/0xa0 [ 195.039611] hugetlbfs_fallocate+0x410/0x550 [ 195.039612] ? _raw_spin_unlock_irqrestore+0x23/0x40 [ 195.039616] vfs_fallocate+0x12e/0x360 [ 195.039618] __x64_sys_fallocate+0x40/0x70 [ 195.039620] do_syscall_64+0x58/0x80 [ 195.039623] ? syscall_exit_to_user_mode+0x17/0x40 [ 195.039624] ? do_syscall_64+0x67/0x80 [ 195.039626] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 195.039628] RIP: 0033:0x7fc7b590651f [ 195.039653] Code: [...] [ 195.039654] RSP: 002b:00007fc7aaf66e70 EFLAGS: 00000293 ORIG_RAX: 000000000000011d [ 195.039655] RAX: ffffffffffffffda RBX: 0000558ef4b7f370 RCX: 00007fc7b590651f ---truncated---

Assessing the Risk of CVE-2022-49760

Access Complexity Graph

The exploitability of CVE-2022-49760 depends on two key factors: attack complexity (the level of effort required to execute an exploit) and privileges required (the access level an attacker needs).

Exploitability Analysis for CVE-2022-49760

CVE-2022-49760 presents an accessible attack vector with minimal effort required. Restricting access controls and implementing security updates are critical to reducing exploitation risks.

Understanding AC and PR

A lower complexity and fewer privilege requirements make exploitation easier. Security teams should evaluate these aspects to determine the urgency of mitigation strategies, such as patch management and access control policies.

Attack Complexity (AC) measures the difficulty in executing an exploit. A high AC means that specific conditions must be met, making an attack more challenging, while a low AC means the vulnerability can be exploited with minimal effort.

Privileges Required (PR) determine the level of system access necessary for an attack. Vulnerabilities requiring no privileges are more accessible to attackers, whereas high privilege requirements limit exploitation to authorized users with elevated access.

CVSS Score Breakdown Chart

Above is the CVSS Sub-score Breakdown for CVE-2022-49760, illustrating how Base, Impact, and Exploitability factors combine to form the overall severity rating. A higher sub-score typically indicates a more severe or easier-to-exploit vulnerability.

CIA Impact Analysis

Below is the Impact Analysis for CVE-2022-49760, showing how Confidentiality, Integrity, and Availability might be affected if the vulnerability is exploited. Higher values usually signal greater potential damage.

  • Confidentiality: None
    CVE-2022-49760 has no significant impact on data confidentiality.
  • Integrity: None
    CVE-2022-49760 poses no threat to data integrity.
  • Availability: High
    CVE-2022-49760 can disrupt system operations, potentially causing complete denial of service (DoS).

CVE-2022-49760 References

External References

CWE Common Weakness Enumeration

NVD-CWE-noinfo

Vulnerable Configurations

  • cpe:2.3:o:linux:linux_kernel:5.19:-:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19:-:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.1:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.1:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.2:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.2:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.3:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.3:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.4:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.4:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.5:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.5:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.6:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.6:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.7:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.7:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.8:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.8:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.9:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.9:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.10:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.10:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.11:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.11:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.12:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.12:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.13:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.13:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.14:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.14:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.15:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.15:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.16:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.16:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19.17:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19.17:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19:rc1:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19:rc1:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19:rc2:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19:rc2:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19:rc3:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19:rc3:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19:rc4:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19:rc4:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19:rc5:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19:rc5:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19:rc6:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19:rc6:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19:rc7:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19:rc7:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:5.19:rc8:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:5.19:rc8:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0:-:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0:-:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.1:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.1:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.2:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.2:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.3:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.3:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.4:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.4:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.5:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.5:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.6:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.6:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.7:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.7:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.8:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.8:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.9:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.9:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.10:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.10:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.11:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.11:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.12:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.12:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.13:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.13:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.14:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.14:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.15:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.15:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.16:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.16:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.17:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.17:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.18:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.18:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0.19:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0.19:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0:rc1:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0:rc1:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0:rc2:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0:rc2:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0:rc3:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0:rc3:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0:rc4:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0:rc4:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0:rc5:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0:rc5:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0:rc6:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0:rc6:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.0:rc7:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.0:rc7:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.1:-:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.1:-:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.1.0:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.1.0:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.1.1:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.1.1:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.1.2:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.1.2:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.1.3:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.1.3:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.1.4:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.1.4:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.1.5:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.1.5:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.1.6:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.1.6:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.1.7:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.1.7:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.2:rc1:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.2:rc1:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.2:rc2:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.2:rc2:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.2:rc3:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.2:rc3:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.2:rc4:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.2:rc4:*:*:*:*:*:*

Protect Your Infrastructure against CVE-2022-49760: Combat Critical CVE Threats

Stay updated with real-time CVE vulnerabilities and take action to secure your systems. Enhance your cybersecurity posture with the latest threat intelligence and mitigation techniques. Develop the skills necessary to defend against CVEs and secure critical infrastructures. Join the top cybersecurity professionals safeguarding today's infrastructures.

Other 5 Recently Published CVEs Vulnerabilities

  • CVE-2025-66265 – CMService.exe creates the C:\\usr directory and subdirectories with insecure permissions, granting write access to all authenticated users. This al...
  • CVE-2025-66264 – The CMService.exe service runs with SYSTEM privileges and contains an unquoted service path. This allows a local attacker with write privileges to ...
  • CVE-2025-66263 – Unauthenticated Arbitrary File Read via Null Byte Injection in DB Electronica Telecomunicazioni S.p.A. Mozart FM Transmitter versions 30, 50, 100, ...
  • CVE-2025-66262 – Arbitrary File Overwrite via Tar Extraction Path Traversal in DB Electronica Telecomunicazioni S.p.A. Mozart FM Transmitter versions 30, 50, 100, 3...
  • CVE-2025-66261 – Unauthenticated OS Command Injection (restore_settings.php) in DB Electronica Telecomunicazioni S.p.A. Mozart FM Transmitter versions 30, 50, 100, ...