🇰🇷 한글 설명
Linux 커널의 cros_usbpd-charger 드라이버에서 임베디드 컨트롤러(EC)가 반환하는 포트 수를 적절히 검증하지 않아 발생하는 취약점입니다. 악의적인 EC가 잘못된 포트 수를 전달할 경우 경계 외 쓰기(Out-of-bounds write)가 발생하여 메모리 오염을 유발할 수 있습니다.
💡 쉬운 설명
기기 내부의 제어 장치가 가짜 정보를 보내 컴퓨터의 메모리 영역을 망가뜨릴 수 있는 문제입니다. 이로 인해 시스템이 멈추거나 해커가 시스템 권한을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
power: supply: cros_usbpd: Limit port counts to EC_USB_PD_MAX_PORTS
Currently the cros_usbpd-charger driver probe iterates based on raw
charger port count returned by the embedded controller. The only check
is against the number of USB PD ports which the embedded controller
also defines. A malicious embedded controller could return an inaccurate
port count (up to 255) resulting in an out of bounds write and
subsequent memory corruption.
Update helper functions in cros_usbpd-charger to limit port counts to
EC_USB_PD_MAX_PORTS.
📍 영향받는 시스템
cros_usbpd-charger 드라이버를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
악의적으로 조작된 임베디드 컨트롤러(EC)를 통한 잘못된 포트 수 정보 전달
🛡️ 대응 방법
포트 수를 EC_USB_PD_MAX_PORTS로 제한하도록 업데이트된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 보안 업데이트 버전인지 확인