🇰🇷 한글 설명
Linux 커널 DRM 브리지 서브시스템에서 drm_bridge_add() 함수가 bridge_lock 없이 bridge_lingering_list에서 항목을 제거하는 문제가 수정되었습니다. 이 리스트는 다른 함수들과 동시에 수정되고 debugfs에서 순회되므로, 잠금 없는 접근은 리스트 손상을 일으킬 수 있습니다. 수정은 두 작업을 모두 bridge_lock 하에서 수행하도록 변경하는 것입니다.
💡 쉬운 설명
여러 작업이 동시에 같은 목록을 건드릴 때 순서를 맞추는 잠금장치를 빠뜨린 버그입니다. 이로 인해 목록 데이터가 꼬여 시스템이 비정상 동작할 수 있어 이를 바로잡았습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/bridge: Fix unlocked list_del in drm_bridge_add()
When re-adding a bridge that was previously removed, drm_bridge_add()
drops it from bridge_lingering_list without holding bridge_lock.
Both bridge_list and bridge_lingering_list are protected by bridge_lock,
as they are concurrently modified by drm_bridge_remove() and
__drm_bridge_free(), and walked by the debugfs 'bridges' file. Running
the list_empty() test and the list_del_init() outside of the lock may
therefore corrupt either list.
Perform both under bridge_lock.
📍 영향받는 시스템
DRM 브리지 드라이버를 사용하는 Linux 커널 (수정 커밋 이전 버전, 세부 버전 범위는 커널 패치 기록 참조)
⚔️ 공격 벡터
CVSS 점수가 0.0(UNKNOWN)이며 공개된 악용 정보가 없고, 주로 브리지 재추가 시 발생하는 경쟁 조건(race condition)에 의한 안정성 문제입니다.
🛡️ 대응 방법
최신 안정 커널 버전 또는 해당 수정이 포함된 배포판 커널 업데이트를 적용하고 재부팅합니다.
🔧 검증 코드
출력된 커널 버전을 배포판 보안 공지 또는 커널 changelog와 대조하여 'drm/bridge: Fix unlocked list_del in drm_bridge_add()' 수정이 포함된 빌드인지 확인합니다.