Upstream information
Description
In the Linux kernel, the following vulnerability has been resolved:btrfs: always do the basic checks for btrfs_qgroup_inherit structure
[BUG]
Syzbot reports the following regression detected by KASAN:
BUG: KASAN: slab-out-of-bounds in btrfs_qgroup_inherit+0x42e/0x2e20 fs/btrfs/qgroup.c:3277
Read of size 8 at addr ffff88814628ca50 by task syz-executor318/5171
CPU: 0 PID: 5171 Comm: syz-executor318 Not tainted 6.10.0-rc2-syzkaller-00010-g2ab795141095 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114
print_address_description mm/kasan/report.c:377 [inline]
print_report+0x169/0x550 mm/kasan/report.c:488
kasan_report+0x143/0x180 mm/kasan/report.c:601
btrfs_qgroup_inherit+0x42e/0x2e20 fs/btrfs/qgroup.c:3277
create_pending_snapshot+0x1359/0x29b0 fs/btrfs/transaction.c:1854
create_pending_snapshots+0x195/0x1d0 fs/btrfs/transaction.c:1922
btrfs_commit_transaction+0xf20/0x3740 fs/btrfs/transaction.c:2382
create_snapshot+0x6a1/0x9e0 fs/btrfs/ioctl.c:875
btrfs_mksubvol+0x58f/0x710 fs/btrfs/ioctl.c:1029
btrfs_mksnapshot+0xb5/0xf0 fs/btrfs/ioctl.c:1075
__btrfs_ioctl_snap_create+0x387/0x4b0 fs/btrfs/ioctl.c:1340
btrfs_ioctl_snap_create_v2+0x1f2/0x3a0 fs/btrfs/ioctl.c:1422
btrfs_ioctl+0x99e/0xc60
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:907 [inline]
__se_sys_ioctl+0xfc/0x170 fs/ioctl.c:893
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fcbf1992509
RSP: 002b:00007fcbf1928218 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007fcbf1a1f618 RCX: 00007fcbf1992509
RDX: 0000000020000280 RSI: 0000000050009417 RDI: 0000000000000003
RBP: 00007fcbf1a1f610 R08: 00007ffea1298e97 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fcbf19eb660
R13: 00000000200002b8 R14: 00007fcbf19e60c0 R15: 0030656c69662f2e
</TASK>
And it also pinned it down to commit b5357cb268c4 ("btrfs: qgroup: do not
check qgroup inherit if qgroup is disabled").
[CAUSE]
That offending commit skips the whole qgroup inherit check if qgroup is
not enabled.
But that also skips the very basic checks like
num_ref_copies/num_excl_copies and the structure size checks.
Meaning if a qgroup enable/disable race is happening at the background,
and we pass a btrfs_qgroup_inherit structure when the qgroup is
disabled, the check would be completely skipped.
Then at the time of transaction commitment, qgroup is re-enabled and
btrfs_qgroup_inherit() is going to use the incorrect structure and
causing the above KASAN error.
[FIX]
Make btrfs_qgroup_check_inherit() only skip the source qgroup checks.
So that even if invalid btrfs_qgroup_inherit structure is passed in, we
can still reject invalid ones no matter if qgroup is enabled or not.
Furthermore we do already have an extra safety inside
btrfs_qgroup_inherit(), which would just ignore invalid qgroup sources,
so even if we only skip the qgroup source check we're still safe.
SUSE information
Overall state of this security issue: Resolved
This issue is currently rated as having moderate severity.
SUSE | |
---|---|
Base Score | 4.7 |
Vector | CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:H |
Attack Vector | Local |
Attack Complexity | High |
Privileges Required | High |
User Interaction | None |
Scope | Unchanged |
Confidentiality Impact | Low |
Integrity Impact | None |
Availability Impact | High |
CVSSv3 Version | 3.1 |
SUSE | |
---|---|
Base Score | 5.6 |
Vector | CVSS:4.0/AV:L/AC:H/AT:P/PR:H/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N |
Attack Vector | Local |
Attack Complexity | High |
Attack Requirements | Present |
Privileges Required | High |
User Interaction | None |
Vulnerable System Confidentiality Impact | Low |
Vulnerable System Integrity Impact | None |
Vulnerable System Availability Impact | High |
Subsequent System Confidentiality Impact | None |
Subsequent System Integrity Impact | None |
Subsequent System Availability Impact | None |
CVSSv4 Version | 4.0 |
Status of this issue by product and package
Please note that this evaluation state might be work in progress, incomplete or outdated. Also information for service packs in the LTSS phase is only included for issues meeting the LTSS criteria. If in doubt, feel free to contact us for clarification. The updates are grouped by state of their lifecycle. SUSE product lifecycles are documented on the lifecycle page.
Product(s) | Source package | State |
---|---|---|
Products under general support and receiving all security fixes. | ||
SUSE Linux Enterprise Desktop 15 SP5 | kernel-default | Not affected |
SUSE Linux Enterprise Desktop 15 SP5 | kernel-source | Not affected |
SUSE Linux Enterprise Desktop 15 SP6 | kernel-default | Not affected |
SUSE Linux Enterprise Desktop 15 SP6 | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP5 | kernel-default | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP5 | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP5 | kernel-source-azure | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP6 | kernel-default | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP6 | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP6 | kernel-source-azure | Not affected |
SUSE Linux Enterprise Micro 5.1 | kernel-default | Not affected |
SUSE Linux Enterprise Micro 5.1 | kernel-rt | Not affected |
SUSE Linux Enterprise Micro 5.1 | kernel-source-rt | Not affected |
SUSE Linux Enterprise Micro 5.2 | kernel-default | Not affected |
SUSE Linux Enterprise Micro 5.2 | kernel-rt | Not affected |
SUSE Linux Enterprise Micro 5.2 | kernel-source-rt | Not affected |
SUSE Linux Enterprise Micro 5.3 | kernel-default | Not affected |
SUSE Linux Enterprise Micro 5.3 | kernel-rt | Not affected |
SUSE Linux Enterprise Micro 5.3 | kernel-source-rt | Not affected |
SUSE Linux Enterprise Micro 5.4 | kernel-default | Not affected |
SUSE Linux Enterprise Micro 5.4 | kernel-rt | Not affected |
SUSE Linux Enterprise Micro 5.4 | kernel-source-rt | Not affected |
SUSE Linux Enterprise Micro 5.5 | kernel-source-rt | Not affected |
SUSE Linux Enterprise Micro 6.0 | kernel-default | Not affected |
SUSE Linux Enterprise Micro 6.0 | kernel-source | Not affected |
SUSE Linux Enterprise Micro 6.0 | kernel-source-rt | Not affected |
SUSE Linux Enterprise Module for Basesystem 15 SP5 | kernel-default | Not affected |
SUSE Linux Enterprise Module for Basesystem 15 SP5 | kernel-source | Not affected |
SUSE Linux Enterprise Module for Basesystem 15 SP6 | kernel-default | Not affected |
SUSE Linux Enterprise Module for Basesystem 15 SP6 | kernel-source | Not affected |
SUSE Linux Enterprise Module for Development Tools 15 SP5 | kernel-default | Not affected |
SUSE Linux Enterprise Module for Development Tools 15 SP5 | kernel-source | Not affected |
SUSE Linux Enterprise Module for Development Tools 15 SP6 | kernel-default | Not affected |
SUSE Linux Enterprise Module for Development Tools 15 SP6 | kernel-source | Not affected |
SUSE Linux Enterprise Module for Public Cloud 15 SP5 | kernel-source-azure | Not affected |
SUSE Linux Enterprise Module for Public Cloud 15 SP6 | kernel-source-azure | Not affected |
SUSE Linux Enterprise Real Time 15 SP5 | kernel-source-rt | Not affected |
SUSE Linux Enterprise Real Time 15 SP6 | kernel-source-rt | Not affected |
SUSE Linux Enterprise Server 15 SP5 | kernel-default | Not affected |
SUSE Linux Enterprise Server 15 SP5 | kernel-source | Not affected |
SUSE Linux Enterprise Server 15 SP5 | kernel-source-azure | Not affected |
SUSE Linux Enterprise Server 15 SP6 | kernel-default | Not affected |
SUSE Linux Enterprise Server 15 SP6 | kernel-source | Not affected |
SUSE Linux Enterprise Server 15 SP6 | kernel-source-azure | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP5 | kernel-default | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP5 | kernel-source | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP5 | kernel-source-azure | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP6 | kernel-default | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP6 | kernel-source | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP6 | kernel-source-azure | Not affected |
SUSE Manager Proxy 4.3 | kernel-default | Not affected |
SUSE Manager Proxy 4.3 | kernel-source | Not affected |
SUSE Manager Retail Branch Server 4.3 | kernel-default | Not affected |
SUSE Manager Retail Branch Server 4.3 | kernel-source | Not affected |
SUSE Manager Server 4.3 | kernel-default | Not affected |
SUSE Manager Server 4.3 | kernel-source | Not affected |
SUSE Real Time Module 15 SP5 | kernel-source-rt | Not affected |
SUSE Real Time Module 15 SP6 | kernel-source-rt | Not affected |
openSUSE Leap 15.5 | kernel-default | Not affected |
openSUSE Leap 15.5 | kernel-source | Not affected |
openSUSE Leap 15.5 | kernel-source-azure | Not affected |
openSUSE Leap 15.5 | kernel-source-rt | Not affected |
openSUSE Leap 15.6 | kernel-default | Not affected |
openSUSE Leap 15.6 | kernel-source | Not affected |
openSUSE Leap 15.6 | kernel-source-azure | Not affected |
openSUSE Leap 15.6 | kernel-source-rt | Not affected |
Products under Long Term Service Pack support and receiving important and critical security fixes. | ||
SUSE Linux Enterprise Desktop 15 SP4 | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 12 SP5 | kernel-default | Not affected |
SUSE Linux Enterprise High Performance Computing 12 SP5 | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 12 SP5 | kernel-source-azure | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP2 | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | kernel-default | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP3 | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-default | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP4 | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-default | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-default | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Module for Basesystem 15 SP2 | kernel-source | Not affected |
SUSE Linux Enterprise Module for Basesystem 15 SP3 | kernel-source | Not affected |
SUSE Linux Enterprise Module for Basesystem 15 SP4 | kernel-source | Not affected |
SUSE Linux Enterprise Module for Development Tools 15 SP2 | kernel-source | Not affected |
SUSE Linux Enterprise Module for Development Tools 15 SP3 | kernel-source | Not affected |
SUSE Linux Enterprise Module for Development Tools 15 SP4 | kernel-source | Not affected |
SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | kernel-default | Not affected |
SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP5 | kernel-default | Not affected |
SUSE Linux Enterprise Server 12 SP5 | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP5 | kernel-source-azure | Not affected |
SUSE Linux Enterprise Server 12 SP5-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP5-LTSS | kernel-source-azure | Not affected |
SUSE Linux Enterprise Server 15 SP2 | kernel-source | Not affected |
SUSE Linux Enterprise Server 15 SP2-LTSS | kernel-default | Not affected |
SUSE Linux Enterprise Server 15 SP2-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server 15 SP3 | kernel-source | Not affected |
SUSE Linux Enterprise Server 15 SP3-LTSS | kernel-default | Not affected |
SUSE Linux Enterprise Server 15 SP3-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server 15 SP4 | kernel-source | Not affected |
SUSE Linux Enterprise Server 15 SP4-LTSS | kernel-default | Not affected |
SUSE Linux Enterprise Server 15 SP4-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP5 | kernel-default | Not affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP5 | kernel-source | Not affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP5 | kernel-source-azure | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP2 | kernel-default | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP2 | kernel-source | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP3 | kernel-default | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP3 | kernel-source | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP4 | kernel-default | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP4 | kernel-source | Not affected |
Products past their end of life and not receiving proactive updates anymore. | ||
HPE Helion OpenStack 8 | kernel-source | Not affected |
SUSE CaaS Platform 4.0 | kernel-source | Not affected |
SUSE CaaS Platform Toolchain 3 | kernel-source | Not affected |
SUSE Enterprise Storage 6 | kernel-source | Not affected |
SUSE Enterprise Storage 7 | kernel-source | Not affected |
SUSE Enterprise Storage 7.1 | kernel-default | Not affected |
SUSE Enterprise Storage 7.1 | kernel-source | Not affected |
SUSE Linux Enterprise Desktop 11 SP4 | kernel-source | Not affected |
SUSE Linux Enterprise Desktop 12 SP3 | kernel-source | Not affected |
SUSE Linux Enterprise Desktop 12 SP4 | kernel-source | Not affected |
SUSE Linux Enterprise Desktop 15 | kernel-source | Not affected |
SUSE Linux Enterprise Desktop 15 SP1 | kernel-source | Not affected |
SUSE Linux Enterprise Desktop 15 SP2 | kernel-source | Not affected |
SUSE Linux Enterprise Desktop 15 SP3 | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP1 | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15-ESPOS | kernel-source | Not affected |
SUSE Linux Enterprise High Performance Computing 15-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Micro 5.0 | kernel-default | Not affected |
SUSE Linux Enterprise Module for Basesystem 15 | kernel-source | Not affected |
SUSE Linux Enterprise Module for Basesystem 15 SP1 | kernel-source | Not affected |
SUSE Linux Enterprise Module for Development Tools 15 | kernel-source | Not affected |
SUSE Linux Enterprise Module for Development Tools 15 SP1 | kernel-source | Not affected |
SUSE Linux Enterprise Real Time 12 SP5 | kernel-source-rt | Not affected |
SUSE Linux Enterprise Real Time 15 SP2 | kernel-source | Not affected |
SUSE Linux Enterprise Real Time 15 SP3 | kernel-source | Not affected |
SUSE Linux Enterprise Real Time 15 SP3 | kernel-source-rt | Not affected |
SUSE Linux Enterprise Real Time 15 SP4 | kernel-source | Not affected |
SUSE Linux Enterprise Real Time 15 SP4 | kernel-source-rt | Not affected |
SUSE Linux Enterprise Server 11 SP4 | kernel-source | Not affected |
SUSE Linux Enterprise Server 11 SP4 LTSS | kernel-default | Not affected |
SUSE Linux Enterprise Server 11 SP4 LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server 11 SP4-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP3 | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP3-BCL | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP3-ESPOS | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP3-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP4 | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP4-ESPOS | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP4-LTSS | kernel-default | Not affected |
SUSE Linux Enterprise Server 12 SP4-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server 15 | kernel-source | Not affected |
SUSE Linux Enterprise Server 15 SP1 | kernel-source | Not affected |
SUSE Linux Enterprise Server 15 SP1-BCL | kernel-source | Not affected |
SUSE Linux Enterprise Server 15 SP1-LTSS | kernel-default | Not affected |
SUSE Linux Enterprise Server 15 SP1-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server 15 SP2-BCL | kernel-source | Not affected |
SUSE Linux Enterprise Server 15 SP3-BCL | kernel-source | Not affected |
SUSE Linux Enterprise Server 15-LTSS | kernel-default | Not affected |
SUSE Linux Enterprise Server 15-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP3 | kernel-source | Not affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP4 | kernel-default | Not affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP4 | kernel-source | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 | kernel-source | Not affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP1 | kernel-source | Not affected |
SUSE Manager Proxy 4.0 | kernel-source | Not affected |
SUSE Manager Proxy 4.1 | kernel-source | Not affected |
SUSE Manager Proxy 4.2 | kernel-source | Not affected |
SUSE Manager Retail Branch Server 4.0 | kernel-source | Not affected |
SUSE Manager Retail Branch Server 4.1 | kernel-source | Not affected |
SUSE Manager Retail Branch Server 4.2 | kernel-source | Not affected |
SUSE Manager Server 4.0 | kernel-source | Not affected |
SUSE Manager Server 4.1 | kernel-source | Not affected |
SUSE Manager Server 4.2 | kernel-source | Not affected |
SUSE OpenStack Cloud 8 | kernel-source | Not affected |
SUSE OpenStack Cloud 9 | kernel-source | Not affected |
SUSE OpenStack Cloud Crowbar 8 | kernel-source | Not affected |
SUSE OpenStack Cloud Crowbar 9 | kernel-source | Not affected |
SUSE Real Time Module 15 SP3 | kernel-source-rt | Not affected |
SUSE Real Time Module 15 SP4 | kernel-source-rt | Not affected |
openSUSE Leap 15.3 | kernel-source | Not affected |
openSUSE Leap 15.3 | kernel-source-rt | Not affected |
openSUSE Leap 15.4 | kernel-source | Not affected |
openSUSE Leap 15.4 | kernel-source-azure | Unsupported |
openSUSE Leap 15.4 | kernel-source-rt | Not affected |
Products at an unknown state of their lifecycle. | ||
SUSE Linux Enterprise Server 12 SP5 LTSS Extended Security | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP5 LTSS Extended Security | kernel-source-azure | Not affected |
SUSE Timeline for this CVE
CVE page created: Tue Jul 30 10:01:52 2024CVE page last modified: Tue Nov 12 15:14:18 2024