ghsa-xj6g-c6gv-vmjp
Vulnerability from github
Published
2024-07-29 18:30
Modified
2024-08-26 15:31
Details

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

netfs: Fix netfs_page_mkwrite() to check folio->mapping is valid

Fix netfs_page_mkwrite() to check that folio->mapping is valid once it has taken the folio lock (as filemap_page_mkwrite() does). Without this, generic/247 occasionally oopses with something like the following:

BUG: kernel NULL pointer dereference, address: 0000000000000000
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page

RIP: 0010:trace_event_raw_event_netfs_folio+0x61/0xc0
...
Call Trace:
 <TASK>
 ? __die_body+0x1a/0x60
 ? page_fault_oops+0x6e/0xa0
 ? exc_page_fault+0xc2/0xe0
 ? asm_exc_page_fault+0x22/0x30
 ? trace_event_raw_event_netfs_folio+0x61/0xc0
 trace_netfs_folio+0x39/0x40
 netfs_page_mkwrite+0x14c/0x1d0
 do_page_mkwrite+0x50/0x90
 do_pte_missing+0x184/0x200
 __handle_mm_fault+0x42d/0x500
 handle_mm_fault+0x121/0x1f0
 do_user_addr_fault+0x23e/0x3c0
 exc_page_fault+0xc2/0xe0
 asm_exc_page_fault+0x22/0x30

This is due to the invalidate_inode_pages2_range() issued at the end of the DIO write interfering with the mmap'd writes.

Show details on source website


{
  "affected": [],
  "aliases": [
    "CVE-2024-41083"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-476"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2024-07-29T16:15:03Z",
    "severity": "MODERATE"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfs: Fix netfs_page_mkwrite() to check folio-\u003emapping is valid\n\nFix netfs_page_mkwrite() to check that folio-\u003emapping is valid once it has\ntaken the folio lock (as filemap_page_mkwrite() does).  Without this,\ngeneric/247 occasionally oopses with something like the following:\n\n    BUG: kernel NULL pointer dereference, address: 0000000000000000\n    #PF: supervisor read access in kernel mode\n    #PF: error_code(0x0000) - not-present page\n\n    RIP: 0010:trace_event_raw_event_netfs_folio+0x61/0xc0\n    ...\n    Call Trace:\n     \u003cTASK\u003e\n     ? __die_body+0x1a/0x60\n     ? page_fault_oops+0x6e/0xa0\n     ? exc_page_fault+0xc2/0xe0\n     ? asm_exc_page_fault+0x22/0x30\n     ? trace_event_raw_event_netfs_folio+0x61/0xc0\n     trace_netfs_folio+0x39/0x40\n     netfs_page_mkwrite+0x14c/0x1d0\n     do_page_mkwrite+0x50/0x90\n     do_pte_missing+0x184/0x200\n     __handle_mm_fault+0x42d/0x500\n     handle_mm_fault+0x121/0x1f0\n     do_user_addr_fault+0x23e/0x3c0\n     exc_page_fault+0xc2/0xe0\n     asm_exc_page_fault+0x22/0x30\n\nThis is due to the invalidate_inode_pages2_range() issued at the end of the\nDIO write interfering with the mmap\u0027d writes.",
  "id": "GHSA-xj6g-c6gv-vmjp",
  "modified": "2024-08-26T15:31:14Z",
  "published": "2024-07-29T18:30:38Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2024-41083"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/3473eb87afd402e415a8ca885b284ea0420dde25"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/a81c98bfa40c11f8ea79b5a9b3f5fda73bfbb4d2"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
      "type": "CVSS_V3"
    }
  ]
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.