In the Linux kernel, the following vulnerability has been resolved: btrfs: fix use-after-free of block device file in _btrfsfreeextradevids() Mounting btrfs from two images (which have the same one fsid and two different devuuids) in certain executing order may trigger an UAF for variable 'device->bdevfile' in _btrfsfreeextradevids(). And following are the details: 1. Attach image1 to loop0, attach image2 to loop1, and scan btrfs devices by ioctl(BTRFSIOCSCANDEV): / btrfsdevice1 → loop0 fsdevice \ btrfsdevice2 → loop1 2. mount /dev/loop0 /mnt btrfsopendevices btrfsdevice1->bdevfile = btrfsgetbdevandsb(loop0) btrfsdevice2->bdevfile = btrfsgetbdevandsb(loop1) btrfsfillsuper openctree fail: btrfsclosedevices // -ENOMEM btrfsclosebdev(btrfsdevice1) fput(btrfsdevice1->bdevfile) // btrfsdevice1->bdevfile is freed btrfsclosebdev(btrfsdevice2) fput(btrfsdevice2->bdevfile) 3. mount /dev/loop1 /mnt btrfsopendevices btrfsgetbdevandsb(&bdevfile) // EIO, btrfsdevice1->bdevfile is not assigned, // which points to a freed memory area btrfsdevice2->bdevfile = btrfsgetbdevandsb(loop1) btrfsfillsuper openctree btrfsfreeextradevids if (btrfsdevice1->bdevfile) fput(btrfsdevice1->bdevfile) // UAF ! Fix it by setting 'device->bdevfile' as 'NULL' after closing the btrfsdevice in btrfscloseonedevice().
{ "priority_reason": "Mount requires elevated privileges", "binaries": [ { "binary_name": "linux-azure-6.11-cloud-tools-6.11.0-1012", "binary_version": "6.11.0-1012.12~24.04.1" }, { "binary_name": "linux-azure-6.11-headers-6.11.0-1012", "binary_version": "6.11.0-1012.12~24.04.1" }, { "binary_name": "linux-azure-6.11-tools-6.11.0-1012", "binary_version": "6.11.0-1012.12~24.04.1" }, { "binary_name": "linux-buildinfo-6.11.0-1012-azure", "binary_version": "6.11.0-1012.12~24.04.1" }, { "binary_name": "linux-cloud-tools-6.11.0-1012-azure", "binary_version": "6.11.0-1012.12~24.04.1" }, { "binary_name": "linux-headers-6.11.0-1012-azure", "binary_version": "6.11.0-1012.12~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1012-azure", "binary_version": "6.11.0-1012.12~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1012-azure-dbgsym", "binary_version": "6.11.0-1012.12~24.04.1" }, { "binary_name": "linux-modules-6.11.0-1012-azure", "binary_version": "6.11.0-1012.12~24.04.1" }, { "binary_name": "linux-modules-extra-6.11.0-1012-azure", "binary_version": "6.11.0-1012.12~24.04.1" }, { "binary_name": "linux-modules-iwlwifi-6.11.0-1012-azure", "binary_version": "6.11.0-1012.12~24.04.1" }, { "binary_name": "linux-tools-6.11.0-1012-azure", "binary_version": "6.11.0-1012.12~24.04.1" } ], "availability": "No subscription required" }
{ "priority_reason": "Mount requires elevated privileges", "binaries": [ { "binary_name": "linux-buildinfo-6.11.0-1011-gcp", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-buildinfo-6.11.0-1011-gcp-64k", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-gcp-6.11-headers-6.11.0-1011", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-gcp-6.11-lib-rust-6.11.0-1011-gcp", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-gcp-6.11-tools-6.11.0-1011", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-headers-6.11.0-1011-gcp", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-headers-6.11.0-1011-gcp-64k", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1011-gcp", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1011-gcp-64k", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1011-gcp-64k-dbgsym", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1011-gcp-dbgsym", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-modules-6.11.0-1011-gcp", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-modules-6.11.0-1011-gcp-64k", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-modules-extra-6.11.0-1011-gcp", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-modules-extra-6.11.0-1011-gcp-64k", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-tools-6.11.0-1011-gcp", "binary_version": "6.11.0-1011.11~24.04.1" }, { "binary_name": "linux-tools-6.11.0-1011-gcp-64k", "binary_version": "6.11.0-1011.11~24.04.1" } ], "availability": "No subscription required" }
{ "priority_reason": "Mount requires elevated privileges", "binaries": [ { "binary_name": "linux-buildinfo-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-headers-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-image-unsigned-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-image-unsigned-6.11.0-1015-oem-dbgsym", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-modules-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-modules-ipu6-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-modules-ipu7-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-modules-iwlwifi-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-modules-usbio-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-modules-vision-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-oem-6.11-headers-6.11.0-1015", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-oem-6.11-tools-6.11.0-1015", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-tools-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" } ], "availability": "No subscription required" }