Cyber Resilience

CVE-2022-49761

High

Published: 27 March 2025

Published
27 March 2025
Modified
01 April 2025
KEV Added
Patch
CVSS Score v3.1 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.0002 6.1th percentile
Risk Priority 16 60% EPSS · 20% KEV · 20% CVSS

Summary

CVE-2022-49761 is a high-severity Use After Free (CWE-416) vulnerability in Linux Linux Kernel. Its CVSS base score is 7.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked at the 6.1th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified are NIST 800-53 SI-11 (Error Handling) and SI-2 (Flaw Remediation).

Deeper analysis

CVE-2022-49761 is a Use-After-Free vulnerability (CWE-416) in the Linux kernel's BTRFS filesystem, specifically within the run_one_delayed_ref() function responsible for handling delayed references. The issue stems from inadequate error reporting, where failures were previously logged only via btrfs_debug(), which is typically disabled for end users, providing insufficient debugging information. This affects BTRFS operations involving delayed references during transaction commits, with a CVSS v3.1 base score of 7.8 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H).

A local attacker with low privileges (PR:L) can exploit this vulnerability by triggering a failure in run_one_delayed_ref(), such as through crafted BTRFS operations that cause delayed reference processing to fail. Successful exploitation could allow the attacker to achieve high impacts on confidentiality, integrity, and availability, potentially leading to kernel memory corruption, privilege escalation, or system denial of service, as the error propagates up the call chain from btrfs_run_delayed_refs_for_head() and aborts the transaction.

Mitigation involves applying the relevant stable kernel patches, available via the following commit references: https://git.kernel.org/stable/c/18bd1c9c02e64a3567f90c83c2c8b855531c8098, https://git.kernel.org/stable/c/39f501d68ec1ed5cd5c66ac6ec2a7131c517bb92, https://git.kernel.org/stable/c/853ffa1511b058c79a4c9bb1407b3b20ce311792, and https://git.kernel.org/stable/c/fdb4a70bb768d2a87890409597529ad81cb3de8a. These patches enhance error reporting by replacing btrfs_debug() with btrfs_err(), adding details like logical bytenr, num_bytes, type, action, and ref_mod, and relocating error handling to prevent use-after-free on the node structure, which is freed by callers. The error triggers at most once per transaction abort.

EU & UK References

Vulnerability details

In the Linux kernel, the following vulnerability has been resolved: btrfs: always report error in run_one_delayed_ref() Currently we have a btrfs_debug() for run_one_delayed_ref() failure, but if end users hit such problem, there will be no chance that btrfs_debug() is enabled.…

more

This can lead to very little useful info for debugging. This patch will: - Add extra info for error reporting Including: * logical bytenr * num_bytes * type * action * ref_mod - Replace the btrfs_debug() with btrfs_err() - Move the error reporting into run_one_delayed_ref() This is to avoid use-after-free, the @node can be freed in the caller. This error should only be triggered at most once. As if run_one_delayed_ref() failed, we trigger the error message, then causing the call chain to error out: btrfs_run_delayed_refs() `- btrfs_run_delayed_refs() `- btrfs_run_delayed_refs_for_head() `- run_one_delayed_ref() And we will abort the current transaction in btrfs_run_delayed_refs(). If we have to run delayed refs for the abort transaction, run_one_delayed_ref() will just cleanup the refs and do nothing, thus no new error messages would be output.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
Why these techniques?

Local use-after-free in Linux kernel BTRFS enables low-privileged attacker to trigger kernel memory corruption for privilege escalation.

Confidence: HIGH · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2026-23111Same product: Linux Linux Kernel
CVE-2026-31530Same product: Linux Linux Kernel
CVE-2023-52974Same product: Linux Linux Kernel
CVE-2026-43019Same product: Linux Linux Kernel
CVE-2026-23158Same product: Linux Linux Kernel
CVE-2025-21893Same product: Linux Linux Kernel
CVE-2026-31446Same product: Linux Linux Kernel
CVE-2022-49176Same product: Linux Linux Kernel
CVE-2022-49291Same product: Linux Linux Kernel
CVE-2026-31650Same product: Linux Linux Kernel

Affected Assets

linux
linux kernel
6.2 · ≤ 5.10.165 · 5.11 — 5.15.90 · 5.16 — 6.1.8

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

prevent

SI-2 requires timely remediation of flaws, directly mitigating CVE-2022-49761 by applying Linux kernel patches that fix the BTRFS use-after-free vulnerability.

prevent

SI-11 mandates secure error handling, addressing the CVE's root cause of inadequate error reporting in run_one_delayed_ref() that led to use-after-free during BTRFS delayed reference processing.

prevent

SI-16 provides memory protections that help safeguard against exploitation of the use-after-free vulnerability in the Linux kernel's BTRFS filesystem.

References