🇰🇷 한글 설명
Linux 커널의 xhci: tegra 드라이버에서 USB2 포트 번호 확인 로직에 오류가 발견되었습니다. USB 가상화가 활성화된 경우, 가상 기능(Virtual Function)의 USB2 포트 번호가 전체 물리 포트 수보다 작을 수 있는데, 이를 잘못 참조할 경우 유효하지 않은 메모리 접근이 발생하여 커널 패닉을 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터의 USB 연결을 관리하는 프로그램이 실제 연결된 개수보다 더 많은 개수를 확인하려다 오류를 일으키는 문제입니다. 이로 인해 시스템이 갑자기 멈추거나 꺼질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
xhci: tegra: fix checked USB2 port number
If USB virtualizatoin is enabled, USB2 ports are shared between all
Virtual Functions. The USB2 port number owned by an USB2 root hub in
a Virtual Function may be less than total USB2 phy number supported
by the Tegra XUSB controller.
Using total USB2 phy number as port number to check all PORTSC values
would cause invalid memory access.
[ 116.923438] Unable to handle kernel paging request at virtual address 006c622f7665642f
...
[ 117.213640] Call trace:
[ 117.216783] tegra_xusb_enter_elpg+0x23c/0x658
[ 117.222021] tegra_xusb_runtime_suspend+0x40/0x68
[ 117.227260] pm_generic_runtime_suspend+0x30/0x50
[ 117.232847] __rpm_callback+0x84/0x3c0
[ 117.237038] rpm_suspend+0x2dc/0x740
[ 117.241229] pm_runtime_work+0xa0/0xb8
[ 117.245769] process_scheduled_works+0x24c/0x478
[ 117.251007] worker_thread+0x23c/0x328
[ 117.255547] kthread+0x104/0x1b0
[ 117.259389] ret_from_fork+0x10/0x20
[ 117.263582] Code: 54000222 f9461ae8 f8747908 b4ffff48 (f9400100)
📍 영향받는 시스템
USB 가상화가 활성화된 Tegra XUSB 컨트롤러를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
USB 가상화 환경에서 특정 포트 번호를 조작하여 커널 메모리 오류를 유도하는 방식
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 보안 업데이트 버전인지 확인하십시오.