🔍 CVE-2026-72113

7.8
CVSS Score
HIGH
2026-08-15
2026-10-16 19:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 bcm CAN 드라이버에서 장치 해제 시 참조 횟수(refcount) 관리가 누락되어 발생하는 취약점입니다. 장치가 등록 해제되는 과정에서 인덱스를 통해 장치를 다시 찾는 방식이 실패할 경우, CAN 필터가 제대로 제거되지 않아 해제된 메모리를 가리키는 좀비 필터가 남게 됩니다.

💡 쉬운 설명

컴퓨터 부품을 제거할 때 관련 설정이 제대로 지워지지 않아, 이미 사라진 부품의 정보를 계속 참조하려고 시도하는 문제입니다. 이로 인해 시스템이 불안정해지거나 메모리 오류가 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: can: bcm: add missing device refcount for CAN filter removal sashiko-bot remarked a problem with a concurrent device unregistration in isotp.c which also is present in the bcm.c code. A former fix for raw.c commit c275a176e4b6 ("can: raw: add missing refcount for memory leak fix") introduced a netdevice_tracker which solves the issue for bcm.c too. bcm_release(), bcm_delete_rx_op() and bcm_notifier() relied on dev_get_by_index(ifindex) to re-find the device for an rx_op before unregistering its filter. If a concurrent NETDEV_UNREGISTER has already unlisted the device from the ifindex table, that lookup fails and can_rx_unregister() is silently skipped, leaving a stale CAN filter pointing at the soon-to-be-freed bcm_op/socket. Hold a netdev_hold()/netdev_put() tracked reference on op->rx_reg_dev from the moment the rx filter is registered in bcm_rx_setup() until it is unregistered in bcm_rx_unreg(), and use that reference directly in bcm_release() and bcm_delete_rx_op() instead of re-looking the device up by ifindex.

📍 영향받는 시스템

Linux Kernel (bcm CAN driver 포함 버전)

⚔️ 공격 벡터

장치 등록 해제와 필터 제거가 동시에 일어나는 경합 조건(Race Condition)을 이용한 메모리 오류 유발

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 netdevice_tracker 기반의 참조 횟수 관리 로직을 적용해야 합니다.

🔧 검증 코드

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

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel