# CVE-2022-49947: linux: In the Linux kernel, the following vulnerability has been resolved:  binder: fix alloc->vma_vm_mm null-ptr dereferenc...

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

- Web page: https://patchblox.com/security/cve/CVE-2022-49947
- Priority: Routine
- CVSS: 5.5 (medium)
- EPSS: 0.0023
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Jun 18, 2025

## Description

In the Linux kernel, the following vulnerability has been resolved:  binder: fix alloc->vma_vm_mm null-ptr dereference  Syzbot reported a couple issues introduced by commit 44e602b4e52f ("binder_alloc: add missing mmap_lock calls when using the VMA"), in which we attempt to acquire the mmap_lock when alloc->vma_vm_mm has not been initialized yet.  This can happen if a binder_proc receives a transaction without having previously called mmap() to setup the binder_proc->alloc space in [1]. Also, a similar issue occurs via binder_alloc_print_pages() when we try to dump the debugfs binder stats file in [2].  Sample of syzbot's crash report:   ==================================================================   KASAN: null-ptr-deref in range [0x0000000000000128-0x000000000000012f]   CPU: 0 PID: 3755 Comm: syz-executor229 Not tainted 6.0.0-rc1-next-20220819-syzkaller #0   syz-executor229[3755] cmdline: ./syz-executor2294415195   Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022   RIP: 0010:__lock_acquire+0xd83/0x56d0 kernel/locking/lockdep.c:4923   [...]   Call Trace:    <TASK>    lock_acquire kernel/locking/lockdep.c:5666 [inline]    lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5631    down_read+0x98/0x450 kernel/locking/rwsem.c:1499    mmap_read_lock include/linux/mmap_lock.h:117 [inline]    binder_alloc_new_buf_locked drivers/android/binder_alloc.c:405 [inline]    binder_alloc_new_buf+0xa5/0x19e0 drivers/android/binder_alloc.c:593    binder_transaction+0x242e/0x9a80 drivers/android/binder.c:3199    binder_thread_write+0x664/0x3220 drivers/android/binder.c:3986    binder_ioctl_write_read drivers/android/binder.c:5036 [inline]    binder_ioctl+0x3470/0x6d00 drivers/android/binder.c:5323    vfs_ioctl fs/ioctl.c:51 [inline]    __do_sys_ioctl fs/ioctl.c:870 [inline]    __se_sys_ioctl fs/ioctl.c:856 [inline]    __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:856    do_syscall_x64 arch/x86/entry/common.c:50 [inline]    do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80    entry_SYSCALL_64_after_hwframe+0x63/0xcd    [...]   ==================================================================  Fix these issues by setting up alloc->vma_vm_mm pointer during open() and caching directly from current->mm. This guarantees we have a valid reference to take the mmap_lock during scenarios described above.  [1] https://syzkaller.appspot.com/bug?extid=f7dc54e5be28950ac459 [2] https://syzkaller.appspot.com/bug?extid=a75ebe0452711c9e56d9

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | linux Debian 12.15 (bookworm) | 6.0.2-1 | [DEBIAN-CVE-2022-49947](https://patchblox.com/security/data/fix/linux/debian-cve-2022-49947.md) | Jun 18, 2025 |
| Linux | linux Debian 13.5 (trixie) | 6.0.2-1 | [DEBIAN-CVE-2022-49947](https://patchblox.com/security/data/fix/linux/debian-cve-2022-49947.md) | Jun 18, 2025 |
| Linux | linux Debian 14 | 6.0.2-1 | [DEBIAN-CVE-2022-49947](https://patchblox.com/security/data/fix/linux/debian-cve-2022-49947.md) | Jun 18, 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.
