Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2023-53541

Опубликовано: 04 окт. 2025
Источник: redhat
CVSS3: 5.5

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: rawnand: brcmnand: Fix potential out-of-bounds access in oob write When the oob buffer length is not in multiple of words, the oob write function does out-of-bounds read on the oob source buffer at the last iteration. Fix that by always checking length limit on the oob buffer read and fill with 0xff when reaching the end of the buffer to the oob registers.

A buffer overflow vulnerability was found in the Linux kernel's Broadcom NAND controller driver when writing out-of-band data. When the OOB buffer length isn't a multiple of word size, the write function performs an out-of-bounds read on the source buffer during its final iteration. This can read beyond allocated memory and potentially cause memory corruption or crashes, resulting in denial of service.

Отчет

NAND flash uses OOB (out-of-band) areas to store metadata like error correction codes alongside the main data. The Broadcom NAND driver's OOB write function processes this data in word-sized chunks for efficiency. However, when the OOB buffer size isn't evenly divisible by the word size, the final iteration of the write loop doesn't have a full word of data available. The code still attempts to read a complete word from the source buffer, reading past the buffer's end into whatever memory happens to follow it. Depending on what lies beyond the buffer, this could read uninitialized memory, crash due to page faults, or incorporate garbage values into the OOB data written to flash. The fix adds explicit length checks and pads with 0xff (the NAND erase value) when reaching the buffer end. This primarily affects systems using Broadcom NAND controllers with OOB operations.

Меры по смягчению последствий

To mitigate this issue, prevent the brcmnand module from being loaded. See https://access.redhat.com/solutions/41278 for instructions on blacklisting kernel modules.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 10kernelNot affected
Red Hat Enterprise Linux 6kernelNot affected
Red Hat Enterprise Linux 7kernelNot affected
Red Hat Enterprise Linux 7kernel-rtNot affected
Red Hat Enterprise Linux 8kernelNot affected
Red Hat Enterprise Linux 8kernel-rtNot affected
Red Hat Enterprise Linux 9kernelNot affected
Red Hat Enterprise Linux 9kernel-rtNot affected

Показывать по

Дополнительная информация

Статус:

Moderate
Дефект:
CWE-125
https://bugzilla.redhat.com/show_bug.cgi?id=2401519kernel: mtd: rawnand: brcmnand: Fix potential out-of-bounds access in oob write

5.5 Medium

CVSS3

Связанные уязвимости

CVSS3: 7.8
ubuntu
10 месяцев назад

In the Linux kernel, the following vulnerability has been resolved: mtd: rawnand: brcmnand: Fix potential out-of-bounds access in oob write When the oob buffer length is not in multiple of words, the oob write function does out-of-bounds read on the oob source buffer at the last iteration. Fix that by always checking length limit on the oob buffer read and fill with 0xff when reaching the end of the buffer to the oob registers.

CVSS3: 7.8
nvd
10 месяцев назад

In the Linux kernel, the following vulnerability has been resolved: mtd: rawnand: brcmnand: Fix potential out-of-bounds access in oob write When the oob buffer length is not in multiple of words, the oob write function does out-of-bounds read on the oob source buffer at the last iteration. Fix that by always checking length limit on the oob buffer read and fill with 0xff when reaching the end of the buffer to the oob registers.

CVSS3: 7.8
debian
10 месяцев назад

In the Linux kernel, the following vulnerability has been resolved: m ...

CVSS3: 7.8
github
10 месяцев назад

In the Linux kernel, the following vulnerability has been resolved: mtd: rawnand: brcmnand: Fix potential out-of-bounds access in oob write When the oob buffer length is not in multiple of words, the oob write function does out-of-bounds read on the oob source buffer at the last iteration. Fix that by always checking length limit on the oob buffer read and fill with 0xff when reaching the end of the buffer to the oob registers.

CVSS3: 5.5
fstec
около 3 лет назад

Уязвимость функции write_oob_to_regs() модуля drivers/mtd/nand/raw/brcmnand/brcmnand.c драйвера памяти MTD ядра операционной системы Linux, позволяющая нарушителю вызвать отказ в обслуживании

5.5 Medium

CVSS3