# CVE-2022-49810: netfs: Fix missing xas_retry() calls in xarray iteration

CVE-2022-49810 is fixed in linux on 1 platform, first by DEBIAN-CVE-2022-49810, released May 1, 2025. It is not reported as exploited. Patch Radar priority: Routine.

- Web page: https://patchblox.com/security/cve/CVE-2022-49810
- Priority: Routine
- CVSS: 5.5 (Moderate)
- EPSS: 0.0017
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: May 1, 2025
- Weakness: NULL Pointer Dereference
- Vendor advisory: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-49810

## Description

In the Linux kernel, the following vulnerability has been resolved:  netfs: Fix missing xas_retry() calls in xarray iteration  netfslib has a number of places in which it performs iteration of an xarray whilst being under the RCU read lock.  It *should* call xas_retry() as the first thing inside of the loop and do "continue" if it returns true in case the xarray walker passed out a special value indicating that the walk needs to be redone from the root[*].  Fix this by adding the missing retry checks.  [*] I wonder if this should be done inside xas_find(), xas_next_node() and     suchlike, but I'm told that's not an simple change to effect.  This can cause an oops like that below.  Note the faulting address - this is an internal value (|0x2) returned from xarray.  BUG: kernel NULL pointer dereference, address: 0000000000000402 ... RIP: 0010:netfs_rreq_unlock+0xef/0x380 [netfs] ... Call Trace:  netfs_rreq_assess+0xa6/0x240 [netfs]  netfs_readpage+0x173/0x3b0 [netfs]  ? init_wait_var_entry+0x50/0x50  filemap_read_page+0x33/0xf0  filemap_get_pages+0x2f2/0x3f0  filemap_read+0xaa/0x320  ? do_filp_open+0xb2/0x150  ? rmqueue+0x3be/0xe10  ceph_read_iter+0x1fe/0x680 [ceph]  ? new_sync_read+0x115/0x1a0  new_sync_read+0x115/0x1a0  vfs_read+0xf3/0x180  ksys_read+0x5f/0xe0  do_syscall_64+0x38/0x90  entry_SYSCALL_64_after_hwframe+0x44/0xae  Changes: ======== ver #2)  - Changed an unsigned int to a size_t to reduce the likelihood of an    overflow as per Willy's suggestion.  - Added an additional patch to fix the maths.

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | linux Debian 12.15 (bookworm) | 6.0.10-1 | [DEBIAN-CVE-2022-49810](https://patchblox.com/security/data/fix/linux/debian-cve-2022-49810.md) | May 1, 2025 |
| Linux | linux Debian 13.5 (trixie) | 6.0.10-1 | [DEBIAN-CVE-2022-49810](https://patchblox.com/security/data/fix/linux/debian-cve-2022-49810.md) | May 1, 2025 |
| Linux | linux Debian 14 | 6.0.10-1 | [DEBIAN-CVE-2022-49810](https://patchblox.com/security/data/fix/linux/debian-cve-2022-49810.md) | May 1, 2025 |

---

Data as of 2026-11-08T13:06:02Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
