🔍 CVE-2026-46194

4.7
CVSS Score
MEDIUM
2026-05-28
2026-06-10 19:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 F2FS 파일시스템에서 extent 노드 삭제 중 동시성 경쟁 조건이 발생하여 데이터 무결성 오류를 유발합니다. I_SYNC 상태에서도 비동기 쓰기백 작업이 새로운 extent 노드를 삽입할 수 있어 버그 조건이 트리거됩니다.

💡 쉬운 설명

파일 시스템이 정리되는 순간 다른 작업이 동시에 파일을 수정하려다 충돌이 발생하는 문제입니다. 이로 인해 시스템이 불안정해지거나 데이터 오류가 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: f2fs: fix node_cnt race between extent node destroy and writeback f2fs_destroy_extent_node() does not set FI_NO_EXTENT before clearing extent nodes. When called from f2fs_drop_inode() with I_SYNC set, concurrent kworker writeback can insert new extent nodes into the same extent tree, racing with the destroy and triggering f2fs_bug_on() in __destroy_extent_node(). The scenario is as follows: drop inode writeback - iput - f2fs_drop_inode // I_SYNC set - f2fs_destroy_extent_node - __destroy_extent_node - while (node_cnt) { write_lock(&et->lock) __free_extent_tree write_unlock(&et->lock) - __writeback_single_inode - f2fs_outplace_write_data - f2fs_update_read_extent_cache - __update_extent_tree_range // FI_NO_EXTENT not set, // insert new extent node } // node_cnt == 0, exit while - f2fs_bug_on(node_cnt) // node_cnt > 0 Additionally, __update_extent_tree_range() only checks FI_NO_EXTENT for EX_READ type, leaving EX_BLOCK_AGE updates completely unprotected. This patch set FI_NO_EXTENT under et->lock in __destroy_extent_node(), consistent with other callers (__update_extent_tree_range and __drop_extent_tree) and check FI_NO_EXTENT for both EX_READ and EX_BLOCK_AGE tree.

📍 영향받는 시스템

Linux kernel (F2FS 파일시스템 사용 시스템)

⚔️ 공격 벡터

로컬에서 동시 파일 입출력 및 삭제 작업을 유발하여 커널 패닉 또는 데이터 손상을 일으킴

🛡️ 대응 방법

운영 체제 및 커널을 최신 보안 패치 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel