Attacker Value
Unknown
(0 users assessed)
Exploitability
Unknown
(0 users assessed)
User Interaction
Unknown
Privileges Required
Unknown
Attack Vector
Unknown
0

CVE-2024-35797

Disclosure Date: May 17, 2024
Add MITRE ATT&CK tactics and techniques that apply to this CVE.

Description

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

mm: cachestat: fix two shmem bugs

When cachestat on shmem races with swapping and invalidation, there
are two possible bugs:

  1. A swapin error can have resulted in a poisoned swap entry in the
    shmem inode’s xarray. Calling get_shadow_from_swap_cache() on it
    will result in an out-of-bounds access to swapper_spaces[].

Validate the entry with non_swap_entry() before going further.

  1. When we find a valid swap entry in the shmem’s inode, the shadow
    entry in the swapcache might not exist yet: swap IO is still in
    progress and we’re before __remove_mapping; swapin, invalidation,
    or swapoff have removed the shadow from swapcache after we saw the
    shmem swap entry.

This will send a NULL to workingset_test_recent(). The latter
purely operates on pointer bits, so it won’t crash – node 0, memcg
ID 0, eviction timestamp 0, etc. are all valid inputs – but it’s a
bogus test. In theory that could result in a false “recently
evicted” count.

Such a false positive wouldn’t be the end of the world. But for
code clarity and (future) robustness, be explicit about this case.

Bail on get_shadow_from_swap_cache() returning NULL.

Add Assessment

No one has assessed this topic. Be the first to add your voice to the community.

CVSS V3 Severity and Metrics
Base Score:
None
Impact Score:
Unknown
Exploitability Score:
Unknown
Vector:
Unknown
Attack Vector (AV):
Unknown
Attack Complexity (AC):
Unknown
Privileges Required (PR):
Unknown
User Interaction (UI):
Unknown
Scope (S):
Unknown
Confidentiality (C):
Unknown
Integrity (I):
Unknown
Availability (A):
Unknown

General Information

Vendors

  • Linux

Products

  • Linux
Technical Analysis