🇰🇷 한글 설명
Linux 커널의 DRM/bridge 드라이버 내 Cadence MHDP 코어에서 발생하는 취약점입니다. atomic_enable() 함수 실행 중 오류가 발생하여 복구 경로인 modeset_retry_fn()으로 진입할 때, 커넥터가 적절히 설정되지 않아 NULL 포인터를 참조함으로써 시스템 충돌이 발생할 수 있습니다.
💡 쉬운 설명
화면 출력 장치를 제어하는 소프트웨어에서 특정 오류가 발생했을 때, 존재하지 않는 메모리 주소를 참조하여 컴퓨터가 멈추거나 꺼질 수 있는 문제입니다. 장치 연결 과정에서 순서가 잘못되어 발생하는 오류입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/bridge: cadence: cdns-mhdp8546-core: Set the mhdp connector earlier in atomic_enable()
In case if we get errors in cdns_mhdp_link_up() or cdns_mhdp_reg_read()
in atomic_enable, we will go to cdns_mhdp_modeset_retry_fn() and will hit
NULL pointer while trying to access the mutex. We need the connector to
be set before that. Unlike in legacy cases with flag
!DRM_BRIDGE_ATTACH_NO_CONNECTOR, we do not have connector initialised
in bridge_attach(), so add the mhdp->connector_ptr in device structure
to handle both cases with DRM_BRIDGE_ATTACH_NO_CONNECTOR and
!DRM_BRIDGE_ATTACH_NO_CONNECTOR, set it in atomic_enable() earlier to
avoid possible NULL pointer dereference in recovery paths like
modeset_retry_fn() with the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag set.
📍 영향받는 시스템
Linux kernel (drm/bridge: cadence: cdns-mhdp8546-core 관련 드라이버 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 특정 하드웨어 드라이버의 오류를 유도하여 커널 패닉(Kernel Panic)을 일으키는 방식
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 패치가 적용된 배포판의 보안 업데이트 버전인지 확인하십시오.