CVE-2021-46971
Assigner: Linux
Published: 2024-02-27T18:47:06.674Z
State: PUBLISHED
descriptions: value: In the Linux kernel, the following vulnerability has been resolved:

perf/core: Fix unconditional security_locked_down() call

Currently, the lockdown state is queried unconditionally, even though
its result is used only if the PERF_SAMPLE_REGS_INTR bit is set in
attr.sample_type. While that doesn't matter in case of the Lockdown LSM,
it causes trouble with the SELinux's lockdown hook implementation.

SELinux implements the locked_down hook with a check whether the current
task's type has the corresponding "lockdown" class permission
("integrity" or "confidentiality") allowed in the policy. This means
that calling the hook when the access control decision would be ignored
generates a bogus permission check and audit record.

Fix this by checking sample_type first and only calling the hook when
its result would be honored.
affected: product: Linux
vendor: Linux
defaultStatus: unaffected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions: version: b0c8fdc7fdb7
lessThan: b246759284d6
status: affected
versionType: git
version: b0c8fdc7fdb7
lessThan: 4348d3b5027b
status: affected
versionType: git
version: b0c8fdc7fdb7
lessThan: f5809ca4c311
status: affected
versionType: git
version: b0c8fdc7fdb7
lessThan: c7b0208ee370
status: affected
versionType: git
version: b0c8fdc7fdb7
lessThan: 08ef1af4de5f
status: affected
versionType: git
product: Linux
vendor: Linux
defaultStatus: affected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions: version: 5.4
status: affected
version: 0
lessThan: 5.4
status: unaffected
versionType: custom
version: 5.4.117
lessThanOrEqual: 5.4.*
status: unaffected
versionType: custom
version: 5.10.35
lessThanOrEqual: 5.10.*
status: unaffected
versionType: custom
version: 5.11.19
lessThanOrEqual: 5.11.*
status: unaffected
versionType: custom
version: 5.12.2
lessThanOrEqual: 5.12.*
status: unaffected
versionType: custom
version: 5.13
lessThanOrEqual: *
status: unaffected
versionType: original_commit_for_fix
title: perf/core: Fix unconditional security_locked_down() call
x_generator: engine: bippy-b01c2a820106