🇰🇷 한글 설명
Linux 커널의 ucan 드라이버에서 메시지 길이가 0으로 설정된 경우 ucan_read_bulk_callback() 함수가 무한 루프에 빠지는 취약점이 발견되었습니다. 이로 인해 시스템이 응답하지 않는 프리징 현상이 발생할 수 있습니다.
💡 쉬운 설명
고장 난 장치가 길이가 0인 잘못된 신호를 보내면 컴퓨터가 이를 처리하려다 무한 반복 작업에 빠져 멈춰버리는 문제입니다. 시스템이 완전히 먹통이 될 수 있는 결함입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
can: ucan: Fix infinite loop from zero-length messages
If a broken ucan device gets a message with the message length field set
to 0, then the driver will loop for forever in
ucan_read_bulk_callback(), hanging the system. If the length is 0, just
skip the message and go on to the next one.
This has been fixed in the kvaser_usb driver in the past in commit
0c73772cd2b8 ("can: kvaser_usb: leaf: Fix potential infinite loop in
command parsers"), so there must be some broken devices out there like
this somewhere.
📍 영향받는 시스템
Linux kernel (ucan driver 사용 시스템)
⚔️ 공격 벡터
길이가 0으로 설정된 잘못된 CAN 메시지를 전송하는 물리적 또는 논리적 장치 연결
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.