CVE-2024-47740

f2fs: Require FMODE_WRITE for atomic write ioctls

MEDIUM
5.5
CVSS Score
Published: October 21, 2024 at 12:14 PM UTC
Updated: August 5, 2026 at 12:04 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: f2fs: Require FMODE_WRITE for atomic write ioctls The F2FS ioctls for starting and committing atomic writes check for inode_owner_or_capable(), but this does not give LSMs like SELinux or Landlock an opportunity to deny the write access - if the caller's FSUID matches the inode's UID, inode_owner_or_capable() immediately returns true. There are scenarios where LSMs want to deny a process the ability to write particular files, even files that the FSUID of the process owns; but this can currently partially be bypassed using atomic write ioctls in two ways: - F2FS_IOC_START_ATOMIC_REPLACE + F2FS_IOC_COMMIT_ATOMIC_WRITE can truncate an inode to size 0 - F2FS_IOC_START_ATOMIC_WRITE + F2FS_IOC_ABORT_ATOMIC_WRITE can revert changes another process concurrently made to a file Fix it by requiring FMODE_WRITE for these operations, just like for F2FS_IOC_MOVE_RANGE. Since any legitimate caller should only be using these ioctls when intending to write into the file, that seems unlikely to break anything.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

3.18 ≤ v < 4.19.3233.18 ≤ v < 5.10.2273.18 ≤ v < 5.15.1683.18 ≤ v < 5.4.2853.18 ≤ v < 6.1.1133.18 ≤ v < 6.10.133.18 ≤ v < 6.11.23.18 ≤ v < 6.123.18 ≤ v < 6.6.544.20 ≤ v < 5.4.2855.11 ≤ v < 5.15.1685.16 ≤ v < 6.1.1135.5 ≤ v < 5.10.2276.11 ≤ v < 6.11.26.2 ≤ v < 6.6.546.7 ≤ v < 6.10.133.1888b88a66797159949cec32eaab12b4968f6fae2d
Vendor states this is fixed in 000bab8753ae29a259feb339b99ee759795a48ac (fixed)
Vendor states this is fixed in 32f348ecc149e9ca70a1c424ae8fa9b6919d2713 (fixed)
Vendor states this is fixed in 4583290898c13c2c2e5eb8773886d153c2c5121d (fixed)
Vendor states this is fixed in 4ce87674c3a6b4d3b3d45f85b584ab8618a3cece (fixed)
Vendor states this is fixed in 4f5a100f87f32cb65d4bb1ad282a08c92f6f591e (fixed)
Vendor states this is fixed in 5e0de753bfe87768ebe6744d869caa92f35e5731 (fixed)
Vendor states this is fixed in 700f3a7c7fa5764c9f24bbf7c78e0b6e479fa653 (fixed)
Vendor states this is fixed in 88ff021e1fea2d9b40b2d5efd9013c89f7be04ac (fixed)
Vendor states this is fixed in f3bfac2cabf5333506b263bc0c8497c95302f32d (fixed)
Vendor states this is fixed in 3.18 (unaffected)
Vendor states this is fixed in 4.19.323 (unaffected)
Vendor states this is fixed in 5.10.227 (unaffected)
Vendor states this is fixed in 5.15.168 (unaffected)
Vendor states this is fixed in 5.4.285 (unaffected)
Vendor states this is fixed in 6.1.113 (unaffected)
Vendor states this is fixed in 6.10.13 (unaffected)
Vendor states this is fixed in 6.11.2 (unaffected)
Vendor states this is fixed in 6.12 (unaffected)
Vendor states this is fixed in 6.6.54 (unaffected)

References (11)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/000bab8753ae29a259feb339b99ee759795a48ac
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/32f348ecc149e9ca70a1c424ae8fa9b6919d2713
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4583290898c13c2c2e5eb8773886d153c2c5121d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4ce87674c3a6b4d3b3d45f85b584ab8618a3cece
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4f5a100f87f32cb65d4bb1ad282a08c92f6f591e
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/5e0de753bfe87768ebe6744d869caa92f35e5731
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/700f3a7c7fa5764c9f24bbf7c78e0b6e479fa653
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/88ff021e1fea2d9b40b2d5efd9013c89f7be04ac

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card