🔍 CVE-2026-68456

0.0
CVSS Score
UNKNOWN
2026-08-15
2026-08-17 06:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ueagle-atm 드라이버에서 비동기 펌웨어 로드 과정 중 장치가 제거될 때 발생하는 레이스 컨디션 취약점입니다. 장치 제거 시 펌웨어 로드 완료를 기다리지 않아 kernfs 및 sysfs 작업 간의 충돌이 발생하며 시스템 오류를 유발할 수 있습니다.

💡 쉬운 설명

USB 장치를 연결하고 펌웨어를 불러오는 도중에 갑자기 장치를 뽑으면, 컴퓨터 내부의 파일 관리 시스템이 혼란에 빠져 오류가 발생하는 문제입니다. 장치가 완전히 꺼지기 전에 하던 일을 끝내도록 순서를 맞추지 않아 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: usb: atm: ueagle-atm: wait for pre-firmware load in .disconnect() ueagle-atm uses the asynchronous request_firmware_nowait() in .probe(), but does not wait for its completion, not even in .disconnect(); so, if the device is unplugged meanwhile, its teardown runs concurrently with that. Even though this inconsistency is worth addressing on its own, it has also triggered several bug reports in syzbot over the years (some auto-closed) where the firmware sysfs fallback mechanism (CONFIG_FW_LOADER_USER_HELPER) creates a firmware subdirectory in the device directory during its removal, which might hit unexpected conditions in kernfs, apparently, depending at which point the add and remove operations raced. (See links.) The pattern is: usb ?-?: Direct firmware load for ueagle-atm/eagle?.fw failed with error -2 usb ?-?: Falling back to sysfs fallback for: ueagle-atm/eagle?.fw <ERROR> Call trace: ... kernfs_create_dir_ns sysfs_create_dir_ns create_dir kobject_add_internal kobject_add_varg kobject_add class_dir_create_and_add get_device_parent device_add fw_load_sysfs_fallback fw_load_from_user_helper firmware_fallback_sysfs _request_firmware request_firmware_work_func ... (Some variations are observed, after fw_load_sysfs_fallback(), e.g., [1].) While the kernfs side is being looked at, the ueagle-atm side can be fixed by waiting for the pre-firmware load in the .disconnect() handler. This change has a similar approach to previous work by Andrey Tsygunka [2] (wait_for_completion() in .disconnect()), but it is relatively different in design/implementation; using the Originally-by tag for credit assignment. This has been tested with: - synthetic reproducer to check the error path; - USB gadget (virtual device) to check the firmware upload path; - QEMU device emulator to check the device ID re-enumeration path; (The latter two were written by Claude; no other code/text in this commit.) Links (year first reported): 2025 https://syzbot.org/bug?extid=ce1e5a1b4e086b43e56d 2025 https://syzbot.org/bug?extid=9af8471255ac36e34fd4 2024 https://syzbot.org/bug?extid=306212936b13e520679d 2023 https://syzkaller.appspot.com/bug?extid=457452d30bcdda75ead2 2022 https://syzbot.org/bug?extid=782984d6f1701b526edb 2021 https://syzbot.org/bug?id=f3f221579f4ef7e9691281f3c6f56c05f83e8490 2021 https://syzbot.org/bug?id=84d86f0d71394829df6fc53daf6642c045983881 2021 https://syzbot.org/bug?id=3302dc1c0e2b9c94f2e8edb404eabc9267bc6f90 [1] https://syzkaller.appspot.com/bug?extid=457452d30bcdda75ead2 [2] https://lore.kernel.org/lkml/[email protected]/

📍 영향받는 시스템

Linux kernel (ueagle-atm driver 사용 환경)

⚔️ 공격 벡터

물리적 또는 가상 USB 장치의 급격한 연결 해제 (Race Condition 유도)

🛡️ 대응 방법

Linux 커널을 최신 패치가 적용된 버전으로 업데이트하여 .disconnect() 핸들러에서 펌웨어 로드 완료를 대기하도록 수정해야 합니다.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Claude Code