🇰🇷 한글 설명
Linux 커널의 bcm 드라이버에서 RCU 리스트 주석 및 작업이 누락되어 발생한 취약점입니다. bcm_op 구조체가 적절히 초기화되지 않은 상태에서 참조되거나, 리스트에서 제거되지 않은 채 해제되어 레이스 컨디션 및 메모리 오류를 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터의 핵심 운영체제인 리눅스 내부에서 데이터를 관리하는 규칙이 잘못 설정되어 있습니다. 이로 인해 시스템이 데이터를 읽는 도중에 데이터가 갑자기 사라지거나 엉뚱한 곳을 참조하여 시스템이 불안정해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
can: bcm: add missing rcu list annotations and operations
sashiko-bot remarked the missing use of list_add_rcu() in
bcm_[rx|tx]_setup() to have a proper initialized bcm_op structure
when bcm_proc_show() traverses the bcm_op's under rcu_read_lock().
To cover all initial settings of the bcm_op's the list_add_rcu() calls
are moved to the end of the setup code.
While at it, also fix the mirroring removal side: bcm_release() called
bcm_remove_op() - which frees the op via call_rcu() - on ops that were
still linked in bo->tx_ops/bo->rx_ops, without list_del_rcu() first.
Unlink each op with list_del_rcu() before handing it to bcm_remove_op(),
matching the existing pattern in bcm_delete_tx_op()/bcm_delete_rx_op().
📍 영향받는 시스템
RCU 리스트 관리 로직이 누락된 특정 버전의 Linux Kernel (bcm 드라이버 포함)
⚔️ 공격 벡터
로컬 권한을 가진 공격자가 특정 드라이버 조작을 통해 레이스 컨디션을 유발하여 시스템 충돌 또는 권한 상승 시도
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트 및 패치 적용
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전 이상인지 확인합니다.