🇰🇷 한글 설명
Linux 커널의 host1x 버스 드라이버에서 device 초기화 실패 시 정리(teardown) 경로가 client->ops 포인터를 검사하지 않고 역참조하는 문제가 있습니다. 정방향 초기화 경로에는 null 검사가 있으나 오류 처리 경로에는 누락되어 있어, ops가 NULL일 경우 커널 NULL 포인터 역참조가 발생할 수 있습니다. 해당 검사를 teardown 및 teardown_late 레이블에 추가하여 수정합니다.
💡 쉬운 설명
Linux 커널의 그래픽/디스플레이 장치 관리 코드에서 오류가 발생했을 때 정리하는 부분에 안전 검사가 빠져 있었습니다. 이로 인해 특정 상황에서 시스템이 비정상 종료되거나 불안정해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
host1x: bus: Fix missing ops null check in error teardown
In host1x_device_init(), the error teardown paths do not check
client->ops before dereferencing it, unlike the forward init paths
which correctly guard with 'client->ops &&'. This can result in a
NULL pointer dereference if client->ops is NULL.
Fix by adding the missing client->ops check in both the teardown
and teardown_late labels.
📍 영향받는 시스템
host1x 드라이버를 사용하는 NVIDIA Tegra 기반 Linux 커널 (수정 커밋 이전 버전)
⚔️ 공격 벡터
명확한 원격 공격 경로는 보고되지 않았으며, 장치 초기화 실패 상황을 유발할 수 있는 로컬 조건에서 커널 패닉(서비스 거부)이 발생할 가능성이 있습니다.
🛡️ 대응 방법
Linux 커널을 해당 수정이 포함된 최신 안정 버전으로 업데이트하거나 배포판의 보안 업데이트를 적용합니다.
🔧 검증 코드
커널 버전을 확인하고 host1x 드라이버(CONFIG_TEGRA_HOST1X)가 빌드에 포함되어 있는지 확인하며, 'y' 또는 'm'이 표시되면 배포판의 수정 버전 적용 여부를 추가로 확인해야 합니다.
uname -r && grep -E 'CONFIG_TEGRA_HOST1X=' /boot/config-$(uname -r) 2>/dev/null