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.
Metrics
Affected Vendors & Products
| Source | ID | Title | 
|---|---|---|
  Debian DLA | 
                DLA-4008-1 | linux-6.1 security update | 
  Debian DLA | 
                DLA-4075-1 | linux security update | 
  Ubuntu USN | 
                USN-7166-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7166-2 | Linux kernel (AWS) vulnerabilities | 
  Ubuntu USN | 
                USN-7166-3 | Linux kernel (HWE) vulnerabilities | 
  Ubuntu USN | 
                USN-7166-4 | Linux kernel (Xilinx ZynqMP) vulnerabilities | 
  Ubuntu USN | 
                USN-7186-1 | Linux kernel (Intel IoTG) vulnerabilities | 
  Ubuntu USN | 
                USN-7186-2 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7194-1 | Linux kernel (Azure) vulnerabilities | 
  Ubuntu USN | 
                USN-7276-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7277-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7293-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7294-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7294-2 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7294-3 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7294-4 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7295-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7301-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7303-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7303-2 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7303-3 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7304-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7310-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7311-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7384-1 | Linux kernel (Azure) vulnerabilities | 
  Ubuntu USN | 
                USN-7384-2 | Linux kernel (Azure) vulnerabilities | 
  Ubuntu USN | 
                USN-7385-1 | Linux kernel (IBM) vulnerabilities | 
  Ubuntu USN | 
                USN-7386-1 | Linux kernel (OEM) vulnerabilities | 
  Ubuntu USN | 
                USN-7393-1 | Linux kernel (FIPS) vulnerabilities | 
  Ubuntu USN | 
                USN-7401-1 | Linux kernel (AWS) vulnerabilities | 
  Ubuntu USN | 
                USN-7403-1 | Linux kernel (HWE) vulnerabilities | 
  Ubuntu USN | 
                USN-7413-1 | Linux kernel (IoT) vulnerabilities | 
  Ubuntu USN | 
                USN-7468-1 | Linux kernel (Azure, N-Series) vulnerabilities | 
  Ubuntu USN | 
                USN-7539-1 | Linux kernel (Raspberry Pi) vulnerabilities | 
  Ubuntu USN | 
                USN-7540-1 | Linux kernel (Raspberry Pi) vulnerabilities | 
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
Mon, 03 Nov 2025 23:30:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| References | 
         | 
Mon, 03 Nov 2025 21:30:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| References | 
         | 
Wed, 08 Oct 2025 17:15:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| Weaknesses | NVD-CWE-noinfo | |
| CPEs | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 
Thu, 13 Feb 2025 00:45:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| Weaknesses | CWE-284 | 
Fri, 08 Nov 2024 16:00:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| References | 
         | 
Tue, 22 Oct 2024 01:30:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| References | 
         | |
| Metrics | 
        
        
        threat_severity
         
  | 
    
        
        cvssV3_1
         
 
  | 
Mon, 21 Oct 2024 13:15:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| Metrics | 
        
        ssvc
         
  | 
Mon, 21 Oct 2024 12:30:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| 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. | |
| Title | f2fs: Require FMODE_WRITE for atomic write ioctls | |
| References | 
         | 
        
  | 
Status: PUBLISHED
Assigner: Linux
Published:
Updated: 2025-11-03T22:21:36.961Z
Reserved: 2024-09-30T16:00:12.959Z
Link: CVE-2024-47740
Updated: 2025-11-03T22:21:36.961Z
Status : Modified
Published: 2024-10-21T13:15:04.103
Modified: 2025-11-03T23:16:21.013
Link: CVE-2024-47740
                        OpenCVE Enrichment
                    Updated: 2025-07-12T22:31:44Z
 Debian DLA
 Ubuntu USN