CVE-2022-49898

MEDIUMNVD 5.55.5
EchelonGraph scoreMEDIUM confidence

Score 5.5 from GitHub Security Advisory published 2025-05-01. NVD baseline CVSS 5.5; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
Trending — 3 sources updated this week
5.5EG
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 5.5Exploit: None knownExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

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

btrfs: fix tree mod log mishandling of reallocated nodes

We have been seeing the following panic in production

kernel BUG at fs/btrfs/tree-mod-log.c:677! invalid opcode: 0000 [#1] SMP RIP: 0010:tree_mod_log_rewind+0x1b4/0x200 RSP: 0000:ffffc9002c02f890 EFLAGS: 00010293 RAX: 0000000000000003 RBX: ffff8882b448c700 RCX: 0000000000000000 RDX: 0000000000008000 RSI: 00000000000000a7 RDI: ffff88877d831c00 RBP: 0000000000000002 R08: 000000000000009f R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000100c40 R12: 0000000000000001 R13: ffff8886c26d6a00 R14: ffff88829f5424f8 R15: ffff88877d831a00 FS: 00007fee1d80c780(0000) GS:ffff8890400c0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fee1963a020 CR3: 0000000434f33002 CR4: 00000000007706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: btrfs_get_old_root+0x12b/0x420 btrfs_search_old_slot+0x64/0x2f0 ? tree_mod_log_oldest_root+0x3d/0xf0 resolve_indirect_ref+0xfd/0x660 ? ulist_alloc+0x31/0x60 ? kmem_cache_alloc_trace+0x114/0x2c0 find_parent_nodes+0x97a/0x17e0 ? ulist_alloc+0x30/0x60 btrfs_find_all_roots_safe+0x97/0x150 iterate_extent_inodes+0x154/0x370 ? btrfs_search_path_in_tree+0x240/0x240 iterate_inodes_from_logical+0x98/0xd0 ? btrfs_search_path_in_tree+0x240/0x240 btrfs_ioctl_logical_to_ino+0xd9/0x180 btrfs_ioctl+0xe2/0x2ec0 ? __mod_memcg_lruvec_state+0x3d/0x280 ? do_sys_openat2+0x6d/0x140 ? kretprobe_dispatcher+0x47/0x70 ? kretprobe_rethook_handler+0x38/0x50 ? rethook_trampoline_handler+0x82/0x140 ? arch_rethook_trampoline_callback+0x3b/0x50 ? kmem_cache_free+0xfb/0x270 ? do_sys_openat2+0xd5/0x140 __x64_sys_ioctl+0x71/0xb0 do_syscall_64+0x2d/0x40

Which is this code in tree_mod_log_rewind()

switch (tm->op) { case BTRFS_MOD_LOG_KEY_REMOVE_WHILE_FREEING: BUG_ON(tm->slot < n);

This occurs because we replay the nodes in order that they happened, and when we do a REPLACE we will log a REMOVE_WHILE_FREEING for every slot, starting at 0. 'n' here is the number of items in this block, which in this case was 1, but we had 2 REMOVE_WHILE_FREEING operations.

The actual root cause of this was that we were replaying operations for a block that shouldn't have been replayed. Consider the following sequence of events

  • We have an already modified root, and we do a btrfs_get_tree_mod_seq().
  • We begin removing items from this root, triggering KEY_REPLACE for
it's child slots.
  • We remove one of the 2 children this root node points to, thus triggering
the root node promotion of the remaining child, and freeing this node.
  • We modify a new root, and re-allocate the above node to the root node of
this other root.

The tree mod log looks something like this

logical 0 op KEY_REPLACE (slot 1) seq 2 logical 0 op KEY_REMOVE (slot 1) seq 3 logical 0 op KEY_REMOVE_WHILE_FREEING (slot 0) seq 4 logical 4096 op LOG_ROOT_REPLACE (old logical 0) seq 5 logical 8192 op KEY_REMOVE_WHILE_FREEING (slot 1) seq 6 logical 8192 op KEY_REMOVE_WHILE_FREEING (slot 0) seq 7 logical 0 op LOG_ROOT_REPLACE (old logical 8192) seq 8

>From here the bug is triggered by the following steps

  • Call btrfs_get_old_root() on the new_root.
  • We call tree_mod_log_oldest_root(btrfs_root_node(new_root)), which is
currently logical 0.
  • tree_mod_log_oldest_root() calls tree_mod_log_search_oldest(), which
gives us the KEY_REPLACE seq 2, and since that's not a LOG_ROOT_REPLACE we incorrectly believe that we don't have an old root, because we expect that the most recent change should be a LOG_ROOT_REPLACE.
  • Back in tree_mod_log_oldest_root() we don't have a LOG_ROOT_REPLACE,
so we don't set old_root, we simply use our e ---truncated---

CVSS v3
5.5
EG Score
5.5(medium)
EG Risk
29(Track)
EG Risk 29/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity55% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
10%
KEV
Not listed

Published

May 1, 2025

Last Modified

August 5, 2026

Patch Availability(1)

Vendor / EcosystemFixed in / PatchReleasedSource
linuxKernel @ 5.15.78osv

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Data Freshness Timeline

(refreshed 14× in last 7d / 48× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 114 total refreshes for this CVE.

  1. 2026-08-08 16:34 UTCEPSS rescore
  2. 2026-08-07 16:24 UTCEPSS rescore
  3. 2026-08-06 13:44 UTCEPSS rescore
  4. 2026-08-05 19:15 UTCEPSS rescore
  5. 2026-08-05 09:28 UTCEG score recompute
  6. 2026-08-05 09:28 UTCGHSA enrichment
  7. 2026-08-04 15:07 UTCEPSS rescore
  8. 2026-08-04 11:05 UTCEG score recompute
  9. 2026-08-04 11:05 UTCGHSA enrichment
  10. 2026-08-04 10:35 UTCEPSS rescore
  11. 2026-08-04 09:44 UTCEG score recompute
  12. 2026-08-04 09:44 UTCGHSA enrichment
  13. 2026-08-03 10:33 UTCEPSS rescore
  14. 2026-08-02 02:24 UTCEPSS rescore
  15. 2026-08-01 04:13 UTCEPSS rescore
  16. 2026-08-01 04:13 UTCEPSS rescore
  17. 2026-07-30 16:25 UTCEPSS rescore
  18. 2026-07-30 01:28 UTCEPSS rescore
  19. 2026-07-28 15:34 UTCEPSS rescore
  20. 2026-07-26 14:52 UTCEPSS rescore
  21. 2026-07-26 14:52 UTCEPSS rescore
  22. 2026-07-25 14:16 UTCEPSS rescore
  23. 2026-07-24 14:15 UTCEPSS rescore
  24. 2026-07-24 07:11 UTCOSV refresh
  25. 2026-07-23 14:16 UTCEPSS rescore
Show 75 more
  1. 2026-07-23 14:16 UTCEPSS rescore
  2. 2026-07-23 02:16 UTCEG score recompute
  3. 2026-07-22 23:04 UTCEG score recompute
  4. 2026-07-22 14:06 UTCEPSS rescore
  5. 2026-07-22 14:06 UTCEPSS rescore
  6. 2026-07-21 15:23 UTCEPSS rescore
  7. 2026-07-21 15:23 UTCEPSS rescore
  8. 2026-07-20 17:05 UTCEPSS rescore
  9. 2026-07-19 14:29 UTCEPSS rescore
  10. 2026-07-19 14:29 UTCEPSS rescore
  11. 2026-07-19 02:27 UTCEPSS rescore
  12. 2026-07-19 02:27 UTCEPSS rescore
  13. 2026-07-18 10:03 UTCEPSS rescore
  14. 2026-07-18 10:03 UTCEPSS rescore
  15. 2026-07-16 17:00 UTCEPSS rescore
  16. 2026-07-15 16:56 UTCEPSS rescore
  17. 2026-07-15 16:56 UTCEPSS rescore
  18. 2026-07-13 06:11 UTCEPSS rescore
  19. 2026-07-13 06:11 UTCEPSS rescore
  20. 2026-07-12 05:44 UTCEPSS rescore
  21. 2026-07-11 08:25 UTCEPSS rescore
  22. 2026-07-11 08:25 UTCEPSS rescore
  23. 2026-07-09 19:08 UTCEPSS rescore
  24. 2026-07-08 15:13 UTCEPSS rescore
  25. 2026-07-07 13:44 UTCEPSS rescore
  26. 2026-07-07 02:51 UTCOSV refresh
  27. 2026-07-06 16:25 UTCEPSS rescore
  28. 2026-07-06 02:21 UTCEPSS rescore
  29. 2026-07-05 02:28 UTCEPSS rescore
  30. 2026-07-04 06:29 UTCEPSS rescore
  31. 2026-07-01 15:04 UTCEPSS rescore
  32. 2026-06-30 23:21 UTCEPSS rescore
  33. 2026-06-30 23:20 UTCEPSS rescore
  34. 2026-06-28 14:06 UTCEPSS rescore
  35. 2026-06-28 04:54 UTCEPSS rescore
  36. 2026-06-28 04:54 UTCEPSS rescore
  37. 2026-06-27 03:07 UTCEPSS rescore
  38. 2026-06-27 03:07 UTCEPSS rescore
  39. 2026-06-25 13:48 UTCEPSS rescore
  40. 2026-06-25 13:48 UTCEPSS rescore
  41. 2026-06-24 14:03 UTCEPSS rescore
  42. 2026-06-24 14:03 UTCEPSS rescore
  43. 2026-06-23 21:31 UTCEPSS rescore
  44. 2026-06-23 21:31 UTCEPSS rescore
  45. 2026-06-22 14:24 UTCEPSS rescore
  46. 2026-06-21 14:55 UTCEPSS rescore
  47. 2026-06-21 14:55 UTCEPSS rescore
  48. 2026-06-21 01:58 UTCEPSS rescore
  49. 2026-06-21 01:58 UTCEPSS rescore
  50. 2026-06-19 19:24 UTCEPSS rescore
  51. 2026-06-19 19:24 UTCEPSS rescore
  52. 2026-06-18 17:51 UTCEPSS rescore
  53. 2026-06-18 17:51 UTCEPSS rescore
  54. 2026-06-18 14:05 UTCOSV refresh
  55. 2026-06-17 17:51 UTCEPSS rescore
  56. 2026-06-17 17:51 UTCEPSS rescore
  57. 2026-06-16 17:51 UTCEPSS rescore
  58. 2026-06-16 17:51 UTCEPSS rescore
  59. 2026-06-15 17:47 UTCEPSS rescore
  60. 2026-06-14 23:16 UTCEPSS rescore
  61. 2026-06-13 22:59 UTCEPSS rescore
  62. 2026-06-12 23:10 UTCEPSS rescore
  63. 2026-06-12 23:10 UTCEPSS rescore
  64. 2026-06-11 13:58 UTCEPSS rescore
  65. 2026-06-11 13:58 UTCEPSS rescore
  66. 2026-06-10 13:21 UTCEPSS rescore
  67. 2026-06-10 13:21 UTCEPSS rescore
  68. 2026-06-08 14:15 UTCEPSS rescore
  69. 2026-06-08 14:15 UTCEPSS rescore
  70. 2026-06-07 15:23 UTCEPSS rescore
  71. 2026-06-07 15:23 UTCEPSS rescore
  72. 2026-06-06 13:46 UTCEPSS rescore
  73. 2026-06-06 13:46 UTCEPSS rescore
  74. 2026-06-05 22:46 UTCEPSS rescore
  75. 2026-06-05 22:46 UTCEPSS rescore

Frequently asked(5)

What is CVE-2022-49898?
CVE-2022-49898 is a medium vulnerability published on May 1, 2025. In the Linux kernel, the following vulnerability has been resolved: btrfs: fix tree mod log mishandling of reallocated nodes We have been seeing the following panic in production kernel BUG at fs/btrfs/tree-mod-log.c:677! invalid opcode: 0000 [#1] SMP RIP: 0010:treemodlog_rewind+0x1b4/0x200 RSP:…
When was CVE-2022-49898 disclosed?
CVE-2022-49898 was first published in the National Vulnerability Database on May 1, 2025, with the most recent update on August 5, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2022-49898 actively exploited?
CVE-2022-49898 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 90.4% of all scored CVEs.
What is the CVSS score of CVE-2022-49898?
CVE-2022-49898 has a CVSS v3 base score of 5.5 (NVD).
How do I remediate CVE-2022-49898?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2022-49898, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2022-49898

Explore →

Is Your Infrastructure Affected by CVE-2022-49898?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.