Kestrel
대시보드로 돌아가기
CVE-2026-64378UNKNOWNMITRENVD대응게시일: 2026. 07. 25.수정일: 2026. 07. 25.CNA: 416baaa9-dc9f-4396-8d5f-8c081fb06d67Received

In the Linux kernel, the following vulnerability has been resolved: writeback: fix race between cgroup_writeback_umount() and inode_switch_

위협 신호 · CVSS · EPSS · KEV

정기 패치· 높은 악용 신호 없음
CVSS
unknown

이론적 심각도 점수

EPSS
0.2%상위 88.0%

30일 내 악용 확률 예측

KEV
미등재

실측 악용 기록 없음

권장 대응 기한60일 이내CISA SSVC 기준

계획된 패치 주기 내 조치(60일 이내)

외부 노출· KEV 미등재 · 자동화 어려움 · 부분 영향 · 외부 노출

CVSS 벡터 · 메트릭

CVSS 벡터 정보 없음

상세 설명

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

writeback: fix race between cgroup_writeback_umount() and inode_switch_wbs()

When a container exits, the following BUG_ON() is occasionally triggered:

==================================================================
VFS: Busy inodes after unmount of sdb (ext4)
------------[ cut here ]------------
kernel BUG at fs/super.c:695!
CPU: 3 PID: 6 Comm: containerd-shim Tainted: G OE K 6.6 #1
pstate: 63400009 (nZCv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=--)
pc : generic_shutdown_super+0xf0/0x100
lr : generic_shutdown_super+0xf0/0x100
Call trace:
generic_shutdown_super+0xf0/0x100
kill_block_super+0x20/0x48
ext4_kill_sb+0x28/0x60
deactivate_locked_super+0x54/0x130
deactivate_super+0x84/0xa0
cleanup_mnt+0xa4/0x140
__cleanup_mnt+0x18/0x28
task_work_run+0x78/0xe0
do_notify_resume+0x204/0x240

The root cause is a race between cgroup_writeback_umount() and
inode_switch_wbs()/cleanup_offline_cgwb(). There is a window between
inode_prepare_wbs_switch() returning true and the subsequent
wb_queue_isw() call. Following is the process that triggers the issue:

text
1 CPU A (umount) | CPU B (writeback)
text
1 inode_switch_wbs/cleanup_offline_cgwb
2 atomic_inc(&isw_nr_in_flight)
3 inode_prepare_wbs_switch
4 -> passes SB_ACTIVE check
5 __iget(inode)
6 generic_shutdown_super
7 sb->s_flags &= ~SB_ACTIVE
8 cgroup_writeback_umount(sb)
9 smp_mb()
10 atomic_read(&isw_nr_in_flight)
11 rcu_barrier()
12 -> no pending RCU callbacks
13 flush_workqueue(isw_wq)
14 -> nothing queued, returns
15 evict_inodes(sb)
16 -> Inode skipped as isw still holds a ref.
17 sop->put_super(sb)
18 /* destroys percpu counters */
19 -> VFS: Busy inodes after unmount!
20 wb_queue_isw()
21 queue_work(isw_wq, ...)
22 /* later in work function */
23 inode_switch_wbs_work_fn
24 process_inode_switch_wbs
25 iput() -> evict
26 percpu_counter_dec() // UAF!
27
28Fix this by extending the RCU read-side critical section in
29inode_switch_wbs() and cleanup_offline_cgwb() to cover from
30inode_prepare_wbs_switch() through wb_queue_isw(). Since there is
31no sleep in this window, rcu_read_lock() can be used. Then add a
32synchronize_rcu() in cgroup_writeback_umount() before the existing
33rcu_barrier(), so that all in-flight switchers that have passed the
34SB_ACTIVE check have completed queue_work() before flush_workqueue()
35is called.
36
37The existing rcu_barrier() is intentionally retained so this fix can
38be backported unchanged to stable kernels (5.10.y, 6.6.y, ...) that
39still queue switches via queue_rcu_work(). It is a no-op on current
40mainline (since commit e1b849cfa6b6 ("writeback: Avoid contention on
41wb->list_lock when switching inodes")) and is removed in a follow-up
42patch.

AI 심층 분석

공격 시나리오 · 재현 가능한 PoC 페이로드 · 즉시 적용 가능한 차단 패치를 한 번에 받아 보세요. 보안 운영팀이 그대로 점검·티켓팅에 쓸 수 있는 형태로 정리해 드립니다.