Executive Summary
Informations | |||
---|---|---|---|
Name | CVE-2024-46687 | First vendor Publication | 2024-09-13 |
Vendor | Cve | Last vendor Modification | 2024-09-14 |
Security-Database Scoring CVSS v3
Cvss vector : CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | |||
---|---|---|---|
Overall CVSS Score | 7.8 | ||
Base Score | 7.8 | Environmental Score | 7.8 |
impact SubScore | 5.9 | Temporal Score | 7.8 |
Exploitabality Sub Score | 1.8 | ||
Attack Vector | Local | Attack Complexity | Low |
Privileges Required | Low | User Interaction | None |
Scope | Unchanged | Confidentiality Impact | High |
Integrity Impact | High | Availability Impact | High |
Calculate full CVSS 3.0 Vectors scores |
Security-Database Scoring CVSS v2
Cvss vector : | |||
---|---|---|---|
Cvss Base Score | N/A | Attack Range | N/A |
Cvss Impact Score | N/A | Attack Complexity | N/A |
Cvss Expoit Score | N/A | Authentication | N/A |
Calculate full CVSS 2.0 Vectors scores |
Detail
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix a use-after-free when hitting errors inside btrfs_submit_chunk() [BUG] There is an internal report that KASAN is reporting use-after-free, with the following backtrace: BUG: KASAN: slab-use-after-free in btrfs_check_read_bio+0xa68/0xb70 [btrfs] Allocated by task 20917: Freed by task 20917: [CAUSE] Although I cannot reproduce the error, the report itself is good enough to pin down the cause. The call trace is the regular endio workqueue context, but the free-by-task trace is showing that during btrfs_submit_chunk() we already hit a critical error, and is calling btrfs_bio_end_io() to error out. And the original endio function called bio_put() to free the whole bio. This means a double freeing thus causing use-after-free, e.g.: 1. Enter btrfs_submit_bio() with a read bio 2. The first run of btrfs_submit_chunk() 2.1 Call btrfs_map_block(), which returns 64K 2.2 Call btrfs_split_bio() 3. The second run of btrfs_submit_chunk() 3.1 Call btrfs_map_block(), which by somehow failed 3.2 btrfs_bio_end_io() calls the original endio function Now the original bio is freed. 4. The submitted first 64K bio finished And even if the memory is not poisoned/corrupted, we will later call [FIX] Instead of calling btrfs_bio_end_io(), call btrfs_orig_bbio_end_io(), which has the extra check on split bios and do the pr ---truncated--- |
Original Source
Url : http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-46687 |
CWE : Common Weakness Enumeration
% | Id | Name |
---|---|---|
50 % | CWE-416 | Use After Free |
50 % | CWE-415 | Double Free |
CPE : Common Platform Enumeration
Sources (Detail)
Alert History
Date | Informations |
---|---|
2025-03-29 03:40:22 |
|
2025-03-28 13:44:49 |
|
2025-03-28 03:18:30 |
|
2025-03-19 03:13:51 |
|
2025-03-18 03:26:47 |
|
2025-03-14 03:14:04 |
|
2025-03-06 14:10:36 |
|
2025-02-22 03:24:09 |
|
2025-01-08 03:05:10 |
|
2025-01-07 03:04:43 |
|
2024-12-25 03:03:21 |
|
2024-12-12 03:06:17 |
|
2024-11-23 03:03:17 |
|
2024-11-22 03:01:27 |
|
2024-11-20 02:59:47 |
|
2024-11-14 03:00:06 |
|
2024-11-09 03:00:05 |
|
2024-10-26 02:57:28 |
|
2024-10-25 02:59:21 |
|
2024-10-23 02:58:33 |
|
2024-10-03 02:53:43 |
|
2024-10-02 02:52:06 |
|
2024-09-15 00:27:26 |
|
2024-09-14 21:29:37 |
|
2024-09-14 02:48:00 |
|
2024-09-14 02:47:08 |
|
2024-09-13 21:27:35 |
|
2024-09-13 13:27:27 |
|