🔍 CVE-2026-31725

5.5
CVSS Score
MEDIUM
2026-05-01
2026-10-30 13:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 usb gadget f_ecm 모듈에서 net_device의 생명주기 관리 오류가 발견되었습니다. 장치 언바인드 시 부모 장치는 파괴되지만 net_device가 남아 있어 sysfs에 유효하지 않은 심볼릭 링크가 생성되는 문제가 있었습니다. 이를 해결하기 위해 device_move()를 사용하여 장치 트리 간의 부모 관계를 적절히 재설정하도록 수정되었습니다.

💡 쉬운 설명

USB 장치를 연결하거나 해제할 때 컴퓨터 시스템 내부의 연결 정보가 제대로 정리되지 않는 버그입니다. 이로 인해 실제로는 사라진 장치가 시스템 목록에 유령처럼 남아 있어 오류를 일으킬 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_ecm: Fix net_device lifecycle with device_move The net_device is allocated during function instance creation and registered during the bind phase with the gadget device as its sysfs parent. When the function unbinds, the parent device is destroyed, but the net_device survives, resulting in dangling sysfs symlinks: console:/ # ls -l /sys/class/net/usb0 lrwxrwxrwx ... /sys/class/net/usb0 -> /sys/devices/platform/.../gadget.0/net/usb0 console:/ # ls -l /sys/devices/platform/.../gadget.0/net/usb0 ls: .../gadget.0/net/usb0: No such file or directory Use device_move() to reparent the net_device between the gadget device tree and /sys/devices/virtual across bind and unbind cycles. During the final unbind, calling device_move(NULL) moves the net_device to the virtual device tree before the gadget device is destroyed. On rebinding, device_move() reparents the device back under the new gadget, ensuring proper sysfs topology and power management ordering. To maintain compatibility with legacy composite drivers (e.g., multi.c), the bound flag is used to indicate whether the network device is shared and pre-registered during the legacy driver's bind phase.

📍 영향받는 시스템

Linux kernel (usb gadget f_ecm driver 사용 환경)

⚔️ 공격 벡터

직접적인 공격보다는 시스템 자원 관리 오류를 유발하여 시스템 불안정성을 초래할 수 있음

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

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

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel