🇰🇷 한글 설명
리눅스 커널의 ICMP 메시지 속도 제한(rate limit) 적용 순서로 인해 발생할 수 있는 사이드 채널 공격 취약점입니다. 기존에는 호스트 전체 제한을 먼저 적용했으나, 이를 목적지별 제한을 먼저 확인하도록 변경하여 보안성을 강화했습니다.
💡 쉬운 설명
네트워크 메시지 처리 순서의 허점을 이용해 시스템 정보를 몰래 알아낼 수 있는 보안 약점이 발견되었습니다. 이를 수정하여 공격자가 시스템의 상태를 추측하지 못하도록 방어 체계를 개선했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
icmp: change the order of rate limits
ICMP messages are ratelimited :
After the blamed commits, the two rate limiters are applied in this order:
1) host wide ratelimit (icmp_global_allow())
2) Per destination ratelimit (inetpeer based)
In order to avoid side-channels attacks, we need to apply
the per destination check first.
This patch makes the following change :
1) icmp_global_allow() checks if the host wide limit is reached.
But credits are not yet consumed. This is deferred to 3)
2) The per destination limit is checked/updated.
This might add a new node in inetpeer tree.
3) icmp_global_consume() consumes tokens if prior operations succeeded.
This means that host wide ratelimit is still effective
in keeping inetpeer tree small even under DDOS.
As a bonus, I removed icmp_global.lock as the fast path
can use a lock-free operation.
📍 영향받는 시스템
ICMP 속도 제한 로직이 포함된 이전 버전의 리눅스 커널
⚔️ 공격 벡터
ICMP 메시지 처리 순서를 이용한 사이드 채널 공격 (Side-channel attack)
🛡️ 대응 방법
ICMP 속도 제한 순서가 수정된 최신 리눅스 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 보안 패치가 적용된 최신 버전인지 확인