CVE-2022-50869 (GCVE-0-2022-50869)

Vulnerability from cvelistv5 – Published: 2025-12-30 12:15 – Updated: 2026-08-05 08:59
VLAI
Title
fs/ntfs3: Fix slab-out-of-bounds in r_page
Summary
In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: Fix slab-out-of-bounds in r_page When PAGE_SIZE is 64K, if read_log_page is called by log_read_rst for the first time, the size of *buffer would be equal to DefaultLogPageSize(4K).But for *buffer operations like memcpy, if the memory area size(n) which being assigned to buffer is larger than 4K (log->page_size(64K) or bytes(64K-page_off)), it will cause an out of boundary error. Call trace: [...] kasan_report+0x44/0x130 check_memory_region+0xf8/0x1a0 memcpy+0xc8/0x100 ntfs_read_run_nb+0x20c/0x460 read_log_page+0xd0/0x1f4 log_read_rst+0x110/0x75c log_replay+0x1e8/0x4aa0 ntfs_loadlog_and_replay+0x290/0x2d0 ntfs_fill_super+0x508/0xec0 get_tree_bdev+0x1fc/0x34c [...] Fix this by setting variable r_page to NULL in log_read_rst.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: b46acd6a6a627d876898e1c84d3f84902264b445 , < ed686e7a26dd19ae6b46bb662f735acfa88ff7bc (git)
Affected: b46acd6a6a627d876898e1c84d3f84902264b445 , < bf86a640a34947d92062996e1a75b9cd9d83dd19 (git)
Affected: b46acd6a6a627d876898e1c84d3f84902264b445 , < 6d076293e5bffdf897ea5f975669206e09beed6a (git)
Affected: b46acd6a6a627d876898e1c84d3f84902264b445 , < ecfbd57cf9c5ca225184ae266ce44ae473792132 (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.15
Unaffected: 0 , < 5.15 (semver)
Unaffected: 5.15.87 , ≤ 5.15.* (semver)
Unaffected: 6.0.17 , ≤ 6.0.* (semver)
Unaffected: 6.1.3 , ≤ 6.1.* (semver)
Unaffected: 6.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/ntfs3/fslog.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "ed686e7a26dd19ae6b46bb662f735acfa88ff7bc",
              "status": "affected",
              "version": "b46acd6a6a627d876898e1c84d3f84902264b445",
              "versionType": "git"
            },
            {
              "lessThan": "bf86a640a34947d92062996e1a75b9cd9d83dd19",
              "status": "affected",
              "version": "b46acd6a6a627d876898e1c84d3f84902264b445",
              "versionType": "git"
            },
            {
              "lessThan": "6d076293e5bffdf897ea5f975669206e09beed6a",
              "status": "affected",
              "version": "b46acd6a6a627d876898e1c84d3f84902264b445",
              "versionType": "git"
            },
            {
              "lessThan": "ecfbd57cf9c5ca225184ae266ce44ae473792132",
              "status": "affected",
              "version": "b46acd6a6a627d876898e1c84d3f84902264b445",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/ntfs3/fslog.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.15"
            },
            {
              "lessThan": "5.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.87",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.0.*",
              "status": "unaffected",
              "version": "6.0.17",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.87",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0.17",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.3",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.2",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfs/ntfs3: Fix slab-out-of-bounds in r_page\n\nWhen PAGE_SIZE is 64K, if read_log_page is called by log_read_rst for\nthe first time, the size of *buffer would be equal to\nDefaultLogPageSize(4K).But for *buffer operations like memcpy,\nif the memory area size(n) which being assigned to buffer is larger\nthan 4K (log-\u003epage_size(64K) or bytes(64K-page_off)), it will cause\nan out of boundary error.\n Call trace:\n  [...]\n  kasan_report+0x44/0x130\n  check_memory_region+0xf8/0x1a0\n  memcpy+0xc8/0x100\n  ntfs_read_run_nb+0x20c/0x460\n  read_log_page+0xd0/0x1f4\n  log_read_rst+0x110/0x75c\n  log_replay+0x1e8/0x4aa0\n  ntfs_loadlog_and_replay+0x290/0x2d0\n  ntfs_fill_super+0x508/0xec0\n  get_tree_bdev+0x1fc/0x34c\n  [...]\n\nFix this by setting variable r_page to NULL in log_read_rst."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is reached only by presenting a crafted NTFS volume to the in-kernel ntfs3 driver so mount runs ntfs_fill_super\u2192ntfs_loadlog_and_replay\u2192log_replay\u2192log_read_rst\u2192read _log_page; this is a local block-device/loop/USB image path with no network protocol handler.\nAC:L - On 16K/64K PAGE_SIZE kernels log-\u003epage_size exceeds the fixed 4K r_page allocation so the first read_log_page deterministically overflows; on 4K kernels a crafted on-disk sys_page_size \u003c 4096 takes the realloc path and overflows the same way, with no race or uncontrollable layout dependency.\nPR:N - The attacker needs no account on the target\u2014the payload is solely a malicious NTFS image (USB stick, disk image, or media handed to udisks2/automount on desktops, kiosks, Android, or automotive systems), matching other ntfs3 image-parsing scores.\nUI:R - Someone must mount the volume or insert the media into a system that automounts it; ntfs3 is FS_REQUIRES_DEV without FS_USERNS_MOUNT, so an unprivileged userns cannot mount it alone.\nS:U - The slab out-of-bounds write corrupts host kernel heap within the same security authority as the mounting kernel; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - ntfs_read_run_nb memcpy\u0027s up to tens of KiB of attacker-controlled $LogFile bytes past a 4K slab object into adjacent heap, enabling classic heap-overlap disclosure primitives consistent with memory-corruption guidance.\nI:H - This is a large attacker-controlled slab out-of-bounds write (disk contents into undersized r_page), providing a heap write primitive suitable for adjacent-object corruption and control-flow hijack.\nA:H - The commit\u0027s KASAN stack shows a slab-out-of-bounds fault in ntfs_read_run_nb during mount that oopses/panics the kernel, fully denying availability."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:59:54.196Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/ed686e7a26dd19ae6b46bb662f735acfa88ff7bc"
        },
        {
          "url": "https://git.kernel.org/stable/c/bf86a640a34947d92062996e1a75b9cd9d83dd19"
        },
        {
          "url": "https://git.kernel.org/stable/c/6d076293e5bffdf897ea5f975669206e09beed6a"
        },
        {
          "url": "https://git.kernel.org/stable/c/ecfbd57cf9c5ca225184ae266ce44ae473792132"
        }
      ],
      "title": "fs/ntfs3: Fix slab-out-of-bounds in r_page",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-50869",
    "datePublished": "2025-12-30T12:15:39.879Z",
    "dateReserved": "2025-12-30T12:06:07.136Z",
    "dateUpdated": "2026-08-05T08:59:54.196Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-50869",
      "date": "2026-09-25",
      "epss": "0.00167",
      "percentile": "0.05318"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "fs/ntfs3/fslog.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "ed686e7a26dd19ae6b46bb662f735acfa88ff7bc",
                    "status": "affected",
                    "version": "b46acd6a6a627d876898e1c84d3f84902264b445",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "bf86a640a34947d92062996e1a75b9cd9d83dd19",
                    "status": "affected",
                    "version": "b46acd6a6a627d876898e1c84d3f84902264b445",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6d076293e5bffdf897ea5f975669206e09beed6a",
                    "status": "affected",
                    "version": "b46acd6a6a627d876898e1c84d3f84902264b445",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "ecfbd57cf9c5ca225184ae266ce44ae473792132",
                    "status": "affected",
                    "version": "b46acd6a6a627d876898e1c84d3f84902264b445",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "fs/ntfs3/fslog.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.15"
                  },
                  {
                    "lessThan": "5.15",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.87",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.0.*",
                    "status": "unaffected",
                    "version": "6.0.17",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.3",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "6.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfs/ntfs3: Fix slab-out-of-bounds in r_page\n\nWhen PAGE_SIZE is 64K, if read_log_page is called by log_read_rst for\nthe first time, the size of *buffer would be equal to\nDefaultLogPageSize(4K).But for *buffer operations like memcpy,\nif the memory area size(n) which being assigned to buffer is larger\nthan 4K (log-\u003epage_size(64K) or bytes(64K-page_off)), it will cause\nan out of boundary error.\n Call trace:\n  [...]\n  kasan_report+0x44/0x130\n  check_memory_region+0xf8/0x1a0\n  memcpy+0xc8/0x100\n  ntfs_read_run_nb+0x20c/0x460\n  read_log_page+0xd0/0x1f4\n  log_read_rst+0x110/0x75c\n  log_replay+0x1e8/0x4aa0\n  ntfs_loadlog_and_replay+0x290/0x2d0\n  ntfs_fill_super+0x508/0xec0\n  get_tree_bdev+0x1fc/0x34c\n  [...]\n\nFix this by setting variable r_page to NULL in log_read_rst."
          }
        ],
        "id": "CVE-2022-50869",
        "lastModified": "2026-08-04T10:18:25.027",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2025-12-30T13:16:01.760",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6d076293e5bffdf897ea5f975669206e09beed6a"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/bf86a640a34947d92062996e1a75b9cd9d83dd19"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/ecfbd57cf9c5ca225184ae266ce44ae473792132"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/ed686e7a26dd19ae6b46bb662f735acfa88ff7bc"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Deferred"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-13T19:32:28+00:00",
      "cve": "CVE-2022-50869",
      "id": "CVE-2022-50869",
      "initial_release_date": "2022-01-01T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Linux kernel: Arbitrary code execution via slab-out-of-bounds in ntfs3",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-50869.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-31T01:20:16Z",
      "cve": "CVE-2022-50869",
      "id": "CVE-2022-50869",
      "initial_release_date": "2025-12-31T00:30:52Z",
      "product_status:known_not_affected": "560",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2022-50869",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2022-50869.json",
      "version": "12"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…