CVE-2025-38230 in Linux
요약
\~에 의해 VulDB • 2026. 05. 26.
리눅스 커널에서 다음 취약점이 해결되었습니다:
jfs: dbMount()에서 AG 매개변수 검증으로 크래시 방지
dbAllocAG에서 정의되지 않은 동작을 피하고 손상된 메타데이터를 조기에 포착하기 위해 dbMount에서 db_agheight, db_agwidth 및 db_agstart를 검증합니다. 한계값은 L2LPERCTL, LPERCTL/MAXAG 및 CTLTREESIZE에서 파생됩니다:
- agheight: 0에서 L2LPERCTL/2 (0에서 5)까지로 설정하여 시프트 연산 (L2LPERCTL - 2*agheight) >= 0을 보장합니다. - agwidth: 1에서 min(LPERCTL/MAXAG, 2^(L2LPERCTL - 2*agheight))까지로 설정하여 agperlev >= 1을 보장합니다. - 범위: agheight 0-3일 때 1-8, agheight 4일 때 1-4, agheight 5일 때 1. - LPERCTL/MAXAG = 1024/128 = 8은 AG당 리프(leaf) 수를 제한하며, 2^(10 - 2*agheight)는 0으로의 나눗셈을 방지합니다. - agstart: 0에서 CTLTREESIZE-1 - agwidth*(MAXAG-1)까지로 설정하여 ti가 stree(크기 1365) 내에 있도록 유지합니다. - 범위: agwidth 1일 때 0-1237, agwidth 8일 때 0-348.
UBSAN: fs/jfs/jfs_dmap.c:1400:9에서 범위 밖 시프트(shift-out-of-bounds) 시프트 지수 -335544310이 음수입니다. CPU: 0 UID: 0 PID: 5822 Comm: syz-executor130 Not tainted 6.14.0-rc5-syzkaller #0 하드웨어 이름: Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 콜 트레이스(Call Trace): <TASK> __dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 ubsan_epilogue lib/ubsan.c:231 [inline]
__ubsan_handle_shift_out_of_bounds+0x3c8/0x420 lib/ubsan.c:468 dbAllocAG+0x1087/0x10b0 fs/jfs/jfs_dmap.c:1400 dbDiscardAG+0x352/0xa20 fs/jfs/jfs_dmap.c:1613 jfs_ioc_trim+0x45a/0x6b0 fs/jfs/jfs_discard.c:105 jfs_ioctl+0x2cd/0x3e0 fs/jfs/ioctl.c:131 vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:906 [inline]
__se_sys_ioctl+0xf5/0x170 fs/ioctl.c:892 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f
리눅스 검증 센터(linuxtesting.org)의 Syzkaller를 통해 발견되었습니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.