Direct naar de inhoud
Kritieke cyberalerts voor jouw sector & systemen — direct in je inbox. Aanmelden →
CVE's Videos Dagbriefing

← Terug naar CVE-database

CVE-2026-53039

MEDIUM · 5.5 CVSS Gepubliceerd: CWE-617

Beschrijving NL

In de Linux kernel is de volgende kwetsbaarheid verholpen:

ocfs2: valideer groep add input voor caching

[BUG]
OCFS2_IOC_GROUP_ADD kan een BUG_ON activeren in
ocfs2_set_new_buffer_uptodate():

kernelbug bij fs/ocfs2/uptodate.c:509! Oeps: ongeldige opcode: 0000 [#1] SMP KASAN NOPTI
RIP: 0010:ocfs2_set_new_buffer_uptodate+0x194/0x1e0 fs/ocfs2/uptodate.c:509
Code: ffffe88f 42b9fe4c 89e64889 dfe8b4df
Oproeptracering:
ocfs2_group_add+0x3f1/0x1510 fs/ocfs2/resize.c:507
ocfs2_ioctl+0x309/0x6e0 fs/ocfs2/ioctl.c:887
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl fs/ioctl.c:583 [inline]
__x64_sys_ioctl+0x197/0x1e0 fs/ioctl.c:583
x64_sys_call+0x1144/0x26a0 arch/x86/include/g enerated/asm/syscalls_64.h:17
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x93/0xf80 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7bbfb55a966d

[OORZAAK]
ocfs2_group_add() roept ocfs2_set_new_buffer_uptodate() aan op een
door de gebruiker gecontroleerd groepsblok voor ocfs2_verify_group_AND_input()
valideert dat bloknummer. Die helper is alleen geldig voor nieuwe
toegewezen metagegevens en beweert dat het blok niet al aanwezig is in
de gekozen metadata-cache. De code gebruikt ook INODE_CACHE(inode) even
hoewel de groepsdescriptor behoort tot main_bm_inode en later journal
toegang gebruikt in plaats daarvan die cachecontext. [FIX]
Valideer de descriptor op de schijfgroep voordat u deze in de cache opslaat en voeg deze vervolgens toe aan
de metagegevenscache bijgehouden door INODE_CACHE(main_bm_inode). Houd de
validatiefoutpad gescheiden van het latere opruimpad, zodat we alleen
verwijder de buffer uit die cache nadat deze daadwerkelijk is geplaatst. Dit houdt de levensduur van de groepsbuffer consistent gedurende de validatie,
journalen en opruimen.

Origineel (Engels) tonen

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

ocfs2: validate group add input before caching

[BUG]
OCFS2_IOC_GROUP_ADD can trigger a BUG_ON in
ocfs2_set_new_buffer_uptodate():

kernel BUG at fs/ocfs2/uptodate.c:509!
Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI
RIP: 0010:ocfs2_set_new_buffer_uptodate+0x194/0x1e0 fs/ocfs2/uptodate.c:509
Code: ffffe88f 42b9fe4c 89e64889 dfe8b4df
Call Trace:
ocfs2_group_add+0x3f1/0x1510 fs/ocfs2/resize.c:507
ocfs2_ioctl+0x309/0x6e0 fs/ocfs2/ioctl.c:887
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl fs/ioctl.c:583 [inline]
__x64_sys_ioctl+0x197/0x1e0 fs/ioctl.c:583
x64_sys_call+0x1144/0x26a0 arch/x86/include/generated/asm/syscalls_64.h:17
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x93/0xf80 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7bbfb55a966d

[CAUSE]
ocfs2_group_add() calls ocfs2_set_new_buffer_uptodate() on a
user-controlled group block before ocfs2_verify_group_and_input()
validates that block number. That helper is only valid for newly
allocated metadata and asserts that the block is not already present in
the chosen metadata cache. The code also uses INODE_CACHE(inode) even
though the group descriptor belongs to main_bm_inode and later journal
accesses use that cache context instead.

[FIX]
Validate the on-disk group descriptor before caching it, then add it to
the metadata cache tracked by INODE_CACHE(main_bm_inode). Keep the
validation failure path separate from the later cleanup path so we only
remove the buffer from that cache after it has actually been inserted.
This keeps the group buffer lifetime consistent across validation,
journaling, and cleanup.

Vendors

Linux

Affected products

Linux Kernel

References