🇰🇷 한글 설명
Linux 커널의 CAN(Controller Area Network) J1939 프로토콜 스택에서 RTS(Request to Send) 메시지가 매우 짧은 간격으로 연속해서 수신될 때의 오류 처리 방식에 결함이 있습니다. 이 취약점은 기존의 불충분한 오류 처리로 인해 문제가 발생한 세션을 즉시 종료하지 못하는 문제를 야기할 수 있습니다.
💡 쉬운 설명
자동차나 산업 장비에서 사용하는 통신 방식(J1939)에서 특정 메시지를 아주 빠르게 연속으로 보내면 시스템이 오류를 제대로 처리하지 못할 수 있습니다. 이로 인해 통신 세션이 비정상적으로 유지되어 시스템 자원이 낭비될 가능성이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: can: j1939: enhanced error handling for tightly received RTS messages in xtp_rx_rts_session_new
This patch enhances error handling in scenarios with RTS (Request to
Send) messages arriving closely. It replaces the less informative WARN_ON_ONCE
backtraces with a new error handling method. This provides clearer error
messages and allows for the early termination of problematic sessions.
Previously, sessions were only released at the end of j1939_xtp_rx_rts().
Potentially this could be reproduced with something like:
testj1939 -r vcan0:0x80 &
while true; do
# send first RTS
cansend vcan0 18EC8090#1014000303002301;
# send second RTS
cansend vcan0 18EC8090#1014000303002301;
# send abort
cansend vcan0 18EC8090#ff00000000002301;
done
📍 영향받는 시스템
J1939 프로토콜을 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
네트워크를 통해 짧은 간격으로 조작된 RTS 메시지를 연속적으로 전송하여 오류 처리를 유도함
🛡️ 대응 방법
J1939 오류 처리가 개선된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 패치가 적용된 최신 버전인지 확인합니다.