IPv6 Type 0 Routing Header를 공격 수단으로 이용할 수 있다는 내용의 ‘Fun with IPv6 routing headers’가 CanSecWest2007에서 발표되었습니다. 기술된 방법 중 한 가지를 이용하면, KAME/BSD 기반의 IPv6 노드 등 Type 0 Routing Header를 RFC 2460에 정해진 대로 처리하는 노드 두 개를 골라 그 둘 사이의 네트웍 대역폭을 소모하게 하는 식으로 공격할 수 있습니다. 비록 발표된 프레젠테이션 자료에는 이 방법에 관해 몇몇 기술적 오류가 있긴 하지만, 공격 방법 그 자체는 일반적으로 유효한 것으로 보입니다.
KAME Project는 이 문제가 공격 수단으로 남용되지 않도록 다음과 같은 해결 조처를 취하였습니다.
KAME 소스 코드를 고쳐 Type 0 Routing Header 처리를 제거하였습니다. ip6_rthdr0() 함수를 주석처리하여, Type 0 Routing Header는 이제 수신될 경우 타입 불명의 Routing Header로서 처리됩니다. net.inet6.ip6.hdrnestlimit의 기본값을 15로 줄였습니다.
패치는 이 링크에 있습니다. 또한, 수정사항을 cvsweb으로 확인하실 수 있습니다: route6.c / in6_proto.c / ip6_input.c
BSD계열 운영체제를 비롯, KAME/BSD IPv6 스택을 사용하는 제품의 메인테이너와 벤더에게 수정 및 해결 사항을 알렸습니다.
이 문제를 IPv6 표준에서 어떻게 다루어야 할 지에 대해 IETF에서 토의하고 있습니다.
이 문제에 관해 필요 이상으로 긴장하지는 않으셔도 됩니다만, 상단에 제공된 패치를 커널에 적용한 후 재부팅하는 것을 (널리 알려지고 또한 고대역폭 링크에 연결된 IPv6노드에 대해 특별히) 강력히 권장합니다. 아래의 BSD 보안 권고도 참조하십시오.
이 문제에 관련한 토의사항은 다음의 메일링 리스트로 보내 주십시오: