ceph: prevent use-after-free in encode_cap_msg()
In fs/ceph/caps.c, in encode_cap_msg(), "use after free" error was
caught by KASAN at this line - 'ceph_buffer_get(arg->xattr_buf);'. This
implies before the refcount could be increment here, it was freed.
In same file, in "handle_cap_grant()" refcount is decremented by this
line - 'ceph_buffer_put(ci->i_xattrs.blob);'. It appears that a race
occurred and resource was freed by the latter line before the former
line could increment it.
encode_cap_msg() is called by __send_cap() and __send_cap() is called by
ceph_check_caps() after calling __prep_cap(). __prep_cap() is where
arg->xattr_buf is assigned to ci->i_xattrs.blob. This is the spot where
the refcount must be increased to prevent "use after free" error.
Metrics
Affected Vendors & Products
| Source | ID | Title |
|---|---|---|
Debian DLA |
DLA-3842-1 | linux-5.10 security update |
Debian DSA |
DSA-5658-1 | linux security update |
Debian DSA |
DSA-5681-1 | linux security update |
Ubuntu USN |
USN-6766-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6766-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6766-3 | Linux kernel (AWS) vulnerabilities |
Ubuntu USN |
USN-6795-1 | Linux kernel (Intel IoTG) vulnerabilities |
Ubuntu USN |
USN-6828-1 | Linux kernel (Intel IoTG) vulnerabilities |
Ubuntu USN |
USN-6895-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6895-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6895-3 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6895-4 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6900-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7495-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7495-2 | Linux kernel (FIPS) vulnerabilities |
Ubuntu USN |
USN-7495-3 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7496-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7496-2 | Linux kernel (FIPS) vulnerabilities |
Ubuntu USN |
USN-7496-3 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7496-4 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7496-5 | Linux kernel (Azure FIPS) vulnerabilities |
Ubuntu USN |
USN-7506-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7506-2 | Linux kernel (AWS) vulnerabilities |
Ubuntu USN |
USN-7506-3 | Linux kernel (FIPS) vulnerabilities |
Ubuntu USN |
USN-7506-4 | Linux kernel (Xenial HWE) vulnerabilities |
Ubuntu USN |
USN-7517-1 | Linux kernel (Xilinx ZynqMP) vulnerabilities |
Ubuntu USN |
USN-7517-2 | Linux kernel (IBM) vulnerabilities |
Ubuntu USN |
USN-7517-3 | Linux kernel (BlueField) vulnerabilities |
Ubuntu USN |
USN-7518-1 | Linux kernel (Azure FIPS) vulnerabilities |
Ubuntu USN |
USN-7539-1 | Linux kernel (Raspberry Pi) vulnerabilities |
Ubuntu USN |
USN-7540-1 | Linux kernel (Raspberry Pi) vulnerabilities |
Ubuntu USN |
USN-7640-1 | Linux kernel (IoT) vulnerabilities |
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
Tue, 14 Jan 2025 17:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Debian
Debian debian Linux Linux Linux linux Kernel |
|
| CPEs | cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:* |
|
| Vendors & Products |
Debian
Debian debian Linux Linux Linux linux Kernel |
|
| Metrics |
cvssV3_1
|
cvssV3_1
|
Fri, 22 Nov 2024 12:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
Tue, 05 Nov 2024 10:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
Tue, 05 Nov 2024 10:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
Status: PUBLISHED
Assigner: Linux
Published:
Updated: 2025-05-04T08:54:07.429Z
Reserved: 2024-02-19T14:20:24.154Z
Link: CVE-2024-26689
Updated: 2024-08-02T00:14:12.664Z
Status : Analyzed
Published: 2024-04-03T15:15:52.427
Modified: 2025-01-14T17:26:26.393
Link: CVE-2024-26689
OpenCVE Enrichment
No data.
Debian DLA
Debian DSA
Ubuntu USN