CVE-2022-49080

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

mm/mempolicy: fix mpol_new leak in shared_policy_replace

If mpol_new is allocated but not used in restart loop, mpol_new will be
freed via mpol_put before returning to the caller.  But refcnt is not
initialized yet, so mpol_put could not do the right things and might
leak the unused mpol_new.  This would happen if mempolicy was updated on
the shared shmem file while the sp->lock has been dropped during the
memory allocation.

This issue could be triggered easily with the below code snippet if
there are many processes doing the below work at the same time:

  shmid = shmget((key_t)5566, 1024 * PAGE_SIZE, 0666|IPC_CREAT);
  shm = shmat(shmid, 0, 0);
  loop many times {
    mbind(shm, 1024 * PAGE_SIZE, MPOL_LOCAL, mask, maxnode, 0);
    mbind(shm + 128 * PAGE_SIZE, 128 * PAGE_SIZE, MPOL_DEFAULT, mask,
          maxnode, 0);
  }
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTNIST
5.5 MEDIUM
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
LinuxCNA
---
---
Base Score
CVSS 3.x
EPSS Score
Percentile: 5%
VendorProductVersion
linuxlinux_kernel
3.8.1 ≤
𝑥
< 4.9.311
linuxlinux_kernel
4.10 ≤
𝑥
< 4.14.276
linuxlinux_kernel
4.15 ≤
𝑥
< 4.19.238
linuxlinux_kernel
4.20 ≤
𝑥
< 5.4.189
linuxlinux_kernel
5.5 ≤
𝑥
< 5.10.111
linuxlinux_kernel
5.11 ≤
𝑥
< 5.15.34
linuxlinux_kernel
5.16 ≤
𝑥
< 5.16.20
linuxlinux_kernel
5.17 ≤
𝑥
< 5.17.3
linuxlinux_kernel
3.8
linuxlinux_kernel
3.8:rc2
linuxlinux_kernel
3.8:rc3
linuxlinux_kernel
3.8:rc4
linuxlinux_kernel
3.8:rc5
linuxlinux_kernel
3.8:rc6
linuxlinux_kernel
3.8:rc7
linuxlinux_kernel
5.18:rc1
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bullseye
5.10.223-1
fixed
bullseye (security)
5.10.234-1
fixed
bookworm
6.1.123-1
fixed
bookworm (security)
6.1.128-1
fixed
trixie
6.12.12-1
fixed
sid
6.12.16-1
fixed