Vulnerability · Published Feb 26, 2025 · Assigned by Linux

CVE-2021-47636ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock()

High 7.1

In plain English

A high-severity out-of-bounds read in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 18% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.1High
Exploit odds (30 days)0.3%top 82.1% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock() Function ubifs_wbuf_write_nolock() may access buf out of bounds in following process: ubifs_wbuf_write_nolock(): aligned_len = ALIGN(len, 8); // Assume len = 4089, aligned_len = 4096 if (aligned_len <= wbuf->avail) ... // Not satisfy if (wbuf->used) { ubifs_leb_write() // Fill some data in avail wbuf len -= wbuf->avail; // len is still not 8-bytes aligned aligned_len -= wbuf->avail; } n = aligned_len >> c->max_write_shift; if (n) { n <<= c->max_write_shift; err = ubifs_leb_write(c, wbuf->lnum, buf + written, wbuf->offs, n); // n > len, read out of bounds less than 8(n-len) bytes } , which can be catched by KASAN: ========================================================= BUG: KASAN: slab-out-of-bounds in ecc_sw_hamming_calculate+0x1dc/0x7d0 Read of size 4 at addr ffff888105594ff8 by task kworker/u8:4/128 Workqueue: writeback wb_workfn (flush-ubifs_0_0) Call Trace: kasan_report.cold+0x81/0x165 nand_write_page_swecc+0xa9/0x160 ubifs_leb_write+0xf2/0x1b0 [ubifs] ubifs_wbuf_write_nolock+0x421/0x12c0 [ubifs] write_head+0xdc/0x1c0 [ubifs] ubifs_jnl_write_inode+0x627/0x960 [ubifs] wb_workfn+0x8af/0xb80 Function ubifs_wbuf_write_nolock() accepts that parameter 'len' is not 8 bytes aligned, the 'len' represents the true length of buf (which is allocated in 'ubifs_jnl_xxx', eg. ubifs_jnl_write_inode), so ubifs_wbuf_write_nolock() must handle the length read from 'buf' carefully to write leb safely. Fetch a reproducer in [Link].

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux5.17.3-1DEBIAN-CVE-2021-47636
Debian:13linux5.17.3-1DEBIAN-CVE-2021-47636
Debian:14linux5.17.3-1DEBIAN-CVE-2021-47636
Ubuntu:22.04:LTSlinux5.15.0-37.39UBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-aws5.15.0-1011.14UBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-azure5.15.0-1010.12UBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-gcp5.15.0-1008.12UBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-gke5.15.0-1008.10UBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-ibm5.15.0-1007.8UBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1008.11UBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-kvm5.15.0-1010.11UBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-37.39UBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-oracle5.15.0-1009.12UBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-raspi5.15.0-1011.13UBUNTU-CVE-2021-47636
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2021-47636
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2021-47636

Affected products (as reported)

VendorProductVersions
Linux Linux 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d – before 5343575aa11c5d7044107d59d43f84aec01312b01e51764a3c2ac05a23a22b2a95ddee4d9bffb16d – before b80ccbec0e4804436c382d7dd60e943c386ed83a1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d – before 07a209fadee7b53b46858538e1177597273862e41e51764a3c2ac05a23a22b2a95ddee4d9bffb16d – before a7054aaf1909cf40489c0ec1b728fdcf79c751a61e51764a3c2ac05a23a22b2a95ddee4d9bffb16d – before e09fa5318d51f522e1af4fbaf8f74999355980c81e51764a3c2ac05a23a22b2a95ddee4d9bffb16d – before 3b7fb89135a20587d57f8877c02e25003e9edbdf1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d – before 4f2262a334641e05f645364d5ade1f565c85f20b
Linux Linux 2.6.27

Weakness: CWE-125 · Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H

References