Lucene search

K
cveLinuxCVE-2024-41083
HistoryJul 29, 2024 - 4:15 p.m.

CVE-2024-41083

2024-07-2916:15:03
CWE-476
Linux
web.nvd.nist.gov
27
linux kernel
vulnerability
netfs_page_mkwrite
folio->mapping
fixed
cve-2024-41083

CVSS3

5.5

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

AI Score

6.3

Confidence

Low

EPSS

0

Percentile

9.4%

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.

Affected configurations

Nvd
Vulners
Node
linuxlinux_kernelRange6.86.9.8
VendorProductVersionCPE
linuxlinux_kernel*cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "fs/netfs/buffered_write.c"
    ],
    "versions": [
      {
        "version": "102a7e2c598c",
        "lessThan": "3473eb87afd4",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "102a7e2c598c",
        "lessThan": "a81c98bfa40c",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "fs/netfs/buffered_write.c"
    ],
    "versions": [
      {
        "version": "6.8",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "6.8",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.9.8",
        "lessThanOrEqual": "6.9.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.10",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

CVSS3

5.5

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

AI Score

6.3

Confidence

Low

EPSS

0

Percentile

9.4%