Description
In the Linux kernel, the following vulnerability has been resolved:

btrfs: lzo: reject compressed segment that overflows the compressed input

lzo_decompress_bio() validates each on-disk segment length seg_len only
against the workspace cbuf size, not against the compressed input size
(compressed_len, the total folio bytes of the bio). A crafted extent can
carry a segment whose seg_len passes the cbuf check but runs past the end
of the bio, so copy_compressed_segment() walks off the last folio:
get_current_folio() then returns the NULL folio from bio_next_folio(), and
with CONFIG_BTRFS_ASSERT disabled (default) folio_size(NULL) faults.

BUG: KASAN: null-ptr-deref in lzo_decompress_bio (fs/btrfs/lzo.c:383)
Read of size 8 at addr 0000000000000000 by task kworker/u8:1/29
Workqueue: btrfs-endio simple_end_io_work
kasan_report (mm/kasan/report.c:590)
lzo_decompress_bio (fs/btrfs/lzo.c:383)
end_bbio_compressed_read (fs/btrfs/compression.c:1065)
btrfs_bio_end_io (fs/btrfs/bio.c:135)
btrfs_check_read_bio (fs/btrfs/bio.c:180 fs/btrfs/bio.c:285)
simple_end_io_work
process_one_work
worker_thread

Reject any segment whose payload would extend beyond compressed_len before
copying it, treating it as corruption like the other on-disk validation
failures in this function.
Published: 2026-08-28
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises in the Linux kernel’s Btrfs file system when LZO compression is used. During decompression, the kernel function lzo_decompress_bio validates each on‑disk segment length (seg_len) only against the size of the workspace buffer, not against the actual compressed input length (compressed_len). A crafted extent can therefore contain a segment that appears valid for the buffer but actually extends beyond the compressed data. When copy_compressed_segment() copies this segment, it reads past the end of the bio, causing a null pointer dereference that leads to a kernel crash and a denial of service. The bug is detected by KASAN with a null‑ptr‑deref at address 0x0, revealing an out‑of‑bounds read and subsequent kernel panic.

Affected Systems

Any Linux kernel that includes the Btrfs file system and supports LZO compression is potentially affected. The available data does not list specific kernel versions or distributions, so all releases that ship the Btrfs LZO decompression path should treat this as a vulnerability until a patch is applied. The Git kernel commits referenced in the advisory (1641d058adfbd50cf95d54581ed5d142ee82c07f and b0d27d43791b7a3057c3c4aedf9b4aa033d37c46) contain the resolution code.

Risk and Exploitability

The Common Vulnerability Scoring System (CVSS) score was not provided, and the exploit probability score (EPSS) is not available, so the exact severity cannot be quantified from the supplied data. However, the bug results in a null pointer dereference that causes a kernel panic, indicating a high potential impact. The vulnerability requires the attacker to supply a malicious LZO‑compressed extent, which typically means local privileged access or control over a file written to the Btrfs volume. The lack of a KEV listing suggests no widely observed exploitation at the time, but the technical characteristics make local exploitation relatively straightforward if an attacker can craft or direct a corrupt extent to the file system.

Generated by OpenCVE AI on August 28, 2026 at 12:12 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the lzo decompression fix (commit 1641d058 or later) or use a distribution that backports the fix.
  • Disable LZO compression on Btrfs volumes by mounting with compression=none, or convert existing LZO‑compressed extents to another compression format.
  • Monitor kernel logs (e.g., dmesg or /var/log/kern.log) for KASAN or null pointer dereference messages to detect potential exploitation attempts, and respond with further mitigation if necessary.

Generated by OpenCVE AI on August 28, 2026 at 12:12 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 28 Aug 2026 11:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Fri, 28 Aug 2026 07:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: btrfs: lzo: reject compressed segment that overflows the compressed input lzo_decompress_bio() validates each on-disk segment length seg_len only against the workspace cbuf size, not against the compressed input size (compressed_len, the total folio bytes of the bio). A crafted extent can carry a segment whose seg_len passes the cbuf check but runs past the end of the bio, so copy_compressed_segment() walks off the last folio: get_current_folio() then returns the NULL folio from bio_next_folio(), and with CONFIG_BTRFS_ASSERT disabled (default) folio_size(NULL) faults. BUG: KASAN: null-ptr-deref in lzo_decompress_bio (fs/btrfs/lzo.c:383) Read of size 8 at addr 0000000000000000 by task kworker/u8:1/29 Workqueue: btrfs-endio simple_end_io_work kasan_report (mm/kasan/report.c:590) lzo_decompress_bio (fs/btrfs/lzo.c:383) end_bbio_compressed_read (fs/btrfs/compression.c:1065) btrfs_bio_end_io (fs/btrfs/bio.c:135) btrfs_check_read_bio (fs/btrfs/bio.c:180 fs/btrfs/bio.c:285) simple_end_io_work process_one_work worker_thread Reject any segment whose payload would extend beyond compressed_len before copying it, treating it as corruption like the other on-disk validation failures in this function.
Title btrfs: lzo: reject compressed segment that overflows the compressed input
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-28T06:48:47.166Z

Reserved: 2026-08-26T14:34:25.776Z

Link: CVE-2026-80631

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-28T08:16:48.010

Modified: 2026-08-28T08:16:48.010

Link: CVE-2026-80631

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T12:15:04Z

Weaknesses
  • CWE-119

    Improper Restriction of Operations within the Bounds of a Memory Buffer