cveboard RSS feed

CVE-2024-47740

CVE.org · Published

Historical CVEsJSONAI instructions

Record status
Published
Identifier year (not publication year)
2024
Source publication
Source updated
Imported by cveboard
Source snapshot
cve_2026-10-24_midnight_baseline ·

Plain text

CNA source text (English)

f2fs: Require FMODE_WRITE for atomic write ioctls

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.

Scoped product and version facts

Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.

Exploitation unknown; this catalogue does not assess exploitation.

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
unaffected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
88b88a66797159949cec32eaab12b4968f6fae2daffectedgit700f3a7c7fa5764c9f24bbf7c78e0b6e479fa653UnavailableNone listed
88b88a66797159949cec32eaab12b4968f6fae2daffectedgit4ce87674c3a6b4d3b3d45f85b584ab8618a3ceceUnavailableNone listed
88b88a66797159949cec32eaab12b4968f6fae2daffectedgit000bab8753ae29a259feb339b99ee759795a48acUnavailableNone listed
88b88a66797159949cec32eaab12b4968f6fae2daffectedgit88ff021e1fea2d9b40b2d5efd9013c89f7be04acUnavailableNone listed
88b88a66797159949cec32eaab12b4968f6fae2daffectedgit32f348ecc149e9ca70a1c424ae8fa9b6919d2713UnavailableNone listed
88b88a66797159949cec32eaab12b4968f6fae2daffectedgit5e0de753bfe87768ebe6744d869caa92f35e5731UnavailableNone listed
88b88a66797159949cec32eaab12b4968f6fae2daffectedgitf3bfac2cabf5333506b263bc0c8497c95302f32dUnavailableNone listed
88b88a66797159949cec32eaab12b4968f6fae2daffectedgit4583290898c13c2c2e5eb8773886d153c2c5121dUnavailableNone listed
88b88a66797159949cec32eaab12b4968f6fae2daffectedgit4f5a100f87f32cb65d4bb1ad282a08c92f6f591eUnavailableNone listed

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
affected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
3.18affectedUnavailableUnavailableUnavailableNone listed
0unaffectedsemver3.18UnavailableNone listed
4.19.323unaffectedsemverUnavailable4.19.*None listed
5.4.285unaffectedsemverUnavailable5.4.*None listed
5.10.227unaffectedsemverUnavailable5.10.*None listed
5.15.168unaffectedsemverUnavailable5.15.*None listed
6.1.113unaffectedsemverUnavailable6.1.*None listed
6.6.54unaffectedsemverUnavailable6.6.*None listed
6.10.13unaffectedsemverUnavailable6.10.*None listed
6.11.2unaffectedsemverUnavailable6.11.*None listed
6.12unaffectedoriginal_commit_for_fixUnavailable*None listed