Lucene search

K
ubuntucveUbuntu.comUB:CVE-2023-52443
HistoryFeb 22, 2024 - 12:00 a.m.

CVE-2023-52443

2024-02-2200:00:00
ubuntu.com
ubuntu.com
18
linux kernel
vulnerability
cve-2023-52443
apparmor
crash
parsed profile
empty name
unpack profile
user space
eproto
linux verification center

CVSS3

5.5

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

AI Score

5.2

Confidence

High

EPSS

0

Percentile

5.1%

In the Linux kernel, the following vulnerability has been resolved:
apparmor: avoid crash when parsed profile name is empty When processing a
packed profile in unpack_profile() described like “profile
:ns::samba-dcerpcd /usr/lib*/samba/{,samba/}samba-dcerpcd {…}” a string
“:samba-dcerpcd” is unpacked as a fully-qualified name and then passed to
aa_splitn_fqname(). aa_splitn_fqname() treats “:samba-dcerpcd” as only
containing a namespace. Thus it returns NULL for tmpname, meanwhile tmpns
is non-NULL. Later aa_alloc_profile() crashes as the new profile name is
NULL now. general protection fault, probably for non-canonical address
0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref
in range [0x0000000000000000-0x0000000000000007] CPU: 6 PID: 1657 Comm:
apparmor_parser Not tainted 6.7.0-rc2-dirty #16 Hardware name: QEMU
Standard PC (i440FX + PIIX, 1996), BIOS
rel-1.16.2-3-gd478f380-rebuilt.opensuse.org 04/01/2014 RIP:
0010:strlen+0x1e/0xa0 Call Trace: <TASK> ? strlen+0x1e/0xa0
aa_policy_init+0x1bb/0x230 aa_alloc_profile+0xb1/0x480
unpack_profile+0x3bc/0x4960 aa_unpack+0x309/0x15e0
aa_replace_profiles+0x213/0x33c0 policy_update+0x261/0x370
profile_replace+0x20e/0x2a0 vfs_write+0x2af/0xe00 ksys_write+0x126/0x250
do_syscall_64+0x46/0xf0 entry_SYSCALL_64_after_hwframe+0x6e/0x76 </TASK>
—[ end trace 0000000000000000 ]— RIP: 0010:strlen+0x1e/0xa0 It seems
such behaviour of aa_splitn_fqname() is expected and checked in other
places where it is called (e.g. aa_remove_profiles). Well, there is an
explicit comment “a ns name without a following profile is allowed” inside.
AFAICS, nothing can prevent unpacked “name” to be in form like
“:samba-dcerpcd” - it is passed from userspace. Deny the whole profile set
replacement in such case and inform user with EPROTO and an explaining
message. Found by Linux Verification Center (linuxtesting.org).

Notes

Author Note
rodrigo-zaiden USN-6765-1 for linux-oem-6.5 wrongly stated that this CVE was fixed in version 6.5.0-1022.23. The mentioned notice was revoked and the state of the fix for linux-oem-6.5 was recovered to the previous state.
OSVersionArchitecturePackageVersionFilename
ubuntu18.04noarchlinux< 4.15.0-227.239UNKNOWN
ubuntu20.04noarchlinux< 5.4.0-176.196UNKNOWN
ubuntu22.04noarchlinux< 5.15.0-102.112UNKNOWN
ubuntu23.10noarchlinux< 6.5.0-41.41UNKNOWN
ubuntu18.04noarchlinux-aws< 4.15.0-1170.183UNKNOWN
ubuntu20.04noarchlinux-aws< 5.4.0-1122.132UNKNOWN
ubuntu22.04noarchlinux-aws< 5.15.0-1057.63UNKNOWN
ubuntu23.10noarchlinux-aws< 6.5.0-1021.21UNKNOWN
ubuntu20.04noarchlinux-aws-5.15< 5.15.0-1057.63~20.04.1UNKNOWN
ubuntu18.04noarchlinux-aws-5.4< 5.4.0-1122.132~18.04.1UNKNOWN
Rows per page:
1-10 of 791

References

CVSS3

5.5

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

AI Score

5.2

Confidence

High

EPSS

0

Percentile

5.1%