CVE-2024-46695

selinux,smack: don't bypass permissions check in inode_setsecctx hook

MEDIUM
4.4
CVSS Score
Published: September 13, 2024 at 05:29 AM 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
MEDIUM4.4
Exploit prediction
EPSS 0.5%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: selinux,smack: don't bypass permissions check in inode_setsecctx hook Marek Gresko reports that the root user on an NFS client is able to change the security labels on files on an NFS filesystem that is exported with root squashing enabled. The end of the kerneldoc comment for __vfs_setxattr_noperm() states: * This function requires the caller to lock the inode's i_mutex before it * is executed. It also assumes that the caller will make the appropriate * permission checks. nfsd_setattr() does do permissions checking via fh_verify() and nfsd_permission(), but those don't do all the same permissions checks that are done by security_inode_setxattr() and its related LSM hooks do. Since nfsd_setattr() is the only consumer of security_inode_setsecctx(), simplest solution appears to be to replace the call to __vfs_setxattr_noperm() with a call to __vfs_setxattr_locked(). This fixes the above issue and has the added benefit of causing nfsd to recall conflicting delegations on a file when a client tries to change its security label.

Affected

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

v < 6.6.493.11 ≤ v < 5.10.2273.11 ≤ v < 5.15.1683.11 ≤ v < 6.1.1133.11 ≤ v < 6.10.83.11 ≤ v < 6.113.11 ≤ v < 6.6.496.7 ≤ v < 6.10.818032ca062e621e15683cb61c066ef3dc5414a7b6.11 rc16.11 rc26.11 rc36.11 rc46.11 rc5
Vendor states this is fixed in 2dbc4b7bac60b02cc6e70d05bf6a7dfd551f9dda (fixed)
Vendor states this is fixed in 459584258d47ec3cc6245a82e8a49c9d08eb8b57 (fixed)
Vendor states this is fixed in 76a0e79bc84f466999fa501fce5bf7a07641b8a7 (fixed)
Vendor states this is fixed in eebec98791d0137e455cc006411bb92a54250924 (fixed)
Vendor states this is fixed in f71ec019257ba4f7ab198bd948c5902a207bad96 (fixed)
Vendor states this is fixed in fe0cd53791119f6287b6532af8ce41576d664930 (fixed)
Vendor states this is fixed in 3.11 (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 6.1.113 (unaffected)
Vendor states this is fixed in 6.10.8 (unaffected)
Vendor states this is fixed in 6.11 (unaffected)
Vendor states this is fixed in 6.6.49 (unaffected)

References (8)

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
HIGH
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
HIGH
Availability
NONE
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-276

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