🇰🇷 한글 설명
Linux 커널의 net: dsa: sja1105 드라이버에서 사용자가 제공한 PTP perout 핀 지속 시간이 0으로 변환될 수 있는 취약점이 발견되었습니다. 이로 인해 future_base_time() 함수에서 0으로 나누기 오류(division by zero)가 발생하여 시스템이 충돌할 수 있습니다. 해당 문제는 지속 시간을 최소 1틱으로 올림 처리하도록 수정되었습니다.
💡 쉬운 설명
매우 짧은 시간 설정을 입력했을 때 컴퓨터가 계산을 못 하고 멈춰버릴 수 있는 오류입니다. 이를 방지하기 위해 아주 작은 값이라도 최소한의 실행 시간을 갖도록 규칙을 정했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: dsa: sja1105: round up PTP perout pin duration
pin_duration is converted from the user-provided period to SJA1105
clock ticks and is later passed as the cycle_time argument to
future_base_time().
Very small period values may become zero after the conversion,
which can lead to a division by zero in future_base_time().
Round zero pin_duration up to 1 tick so that the smallest unsupported
periods use the minimum non-zero hardware duration instead of passing
zero to future_base_time().
📍 영향받는 시스템
SJA1105 드라이버를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
사용자 또는 공격자가 매우 작은 PTP perout period 값을 설정하여 시스템을 의도적으로 충돌시킴
🛡️ 대응 방법
SJA1105 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인