🇰🇷 한글 설명
Linux 커널의 USB Type-C DisplayPort Alt Mode 드라이버에서, 잘못 구현된 포트 파트너가 최대값(DP_PIN_ASSIGN_F)을 초과하는 핀 할당 능력을 보고하면 pin_assignment_show 함수의 배열 범위 밖 접근이 발생해 커널 BRK 예외가 일어날 수 있습니다. 패치에서는 DP_PIN_ASSIGN_MAX를 정의하고 루프 조건을 i < DP_PIN_ASSIGN_MAX로 제한하여 이를 막았습니다.
💡 쉬운 설명
USB-C로 연결된 디스플레이 장치가 잘못된 정보를 보내면 리눅스 커널이 허용 범위를 넘어 메모리를 읽다가 멈출 수 있습니다. 커널 업데이트로 허용 범위를 확인하도록 고쳐져 이 문제가 해결됩니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
usb: typec: altmodes/displayport: do not index invalid pin_assignments
A poorly implemented DisplayPort Alt Mode port partner can indicate
that its pin assignment capabilities are greater than the maximum
value, DP_PIN_ASSIGN_F. In this case, calls to pin_assignment_show
will cause a BRK exception due to an out of bounds array access.
Prevent for loop in pin_assignment_show from accessing
invalid values in pin_assignments by adding DP_PIN_ASSIGN_MAX
value in typec_dp.h and using i < DP_PIN_ASSIGN_MAX as a loop
condition.
📍 영향받는 시스템
USB Type-C DisplayPort Alt Mode 드라이버를 포함하는 수정 이전의 Linux 커널 버전
⚔️ 공격 벡터
악의적이거나 결함 있는 USB-C DisplayPort 장치가 범위를 벗어난 핀 할당 값을 보고하여 커널의 배열 경계 밖 접근을 유발
🛡️ 대응 방법
배포판의 최신 Linux 커널 보안 업데이트를 적용하고 재부팅
🔧 검증 코드
출력된 커널 버전이 배포판이 이 CVE 수정을 포함한다고 밝힌 버전 이상이면 패치된 것이며, 정확한 판단은 배포판의 보안 공지나 changelog(예: apt changelog linux-image-$(uname -r))를 함께 확인하세요.