ISC는 2021년 8월 18일 BIND 취약점 CVE-2021-25218을 공개했습니다. 응답 속도 제한(RRL, Response Rate Limiting)이 켜진 상태에서 named가 인터페이스 최대 전송 단위(MTU)보다 큰 UDP 응답을 보내려 하면 어서션 실패(assertion failure)가 일어나 named 프로세스가 종료됩니다. 심각도는 High, CVSS 점수는 7.5이며 원격에서 악용할 수 있습니다. 해당 버전은 BIND 9.16.19, 9.17.16, 9.16.19-S1 세 가지뿐입니다.
무엇이 발표되었나
named가 MTU를 넘는 응답을 보내게 되는 경우는 두 가지입니다.
- named.conf에서
max-udp-size를 인터페이스 MTU보다 크게 설정한 경우 - 경로 MTU 탐색(PMTUD, Path MTU Discovery)이 해당 목적지에 대해 기본
max-udp-size값인 1232보다 작은 MTU를 IP 스택에 알려 준 경우. ISC는 일부 운영체제에서는 다른 프로토콜로 받은 패킷이 DNS over UDP의 PMTUD 값에 영향을 줄 수 있다고 설명합니다.
ISC는 이 결함이 잘못된 설정이나 고의적인 공격으로 일어날 수 있을 뿐 아니라, PMTUD 설정을 강화해 둔 정상 운영 환경에서도 일어날 수 있다고 밝혔습니다. 공개 시점에 ISC가 파악한 실제 공격 사례는 없습니다.
영향 범위
- 해당 버전: BIND 9.16.19, 9.17.16, BIND Supported Preview Edition 9.16.19-S1
- 사용자가 정의한 뷰와 기본 IN 클래스 뷰
_default에서는 RRL이 기본으로 꺼져 있습니다. 그러나 기본 CHAOS(CH) 클래스 뷰_bind에는 RRL이 켜져 있습니다. 그래서rate-limit을 설정하지 않은 서버도 영향을 받을 수 있습니다.
운영자가 할 일
- 버전 확인: 위 세 버전을 쓰고 있다면 대상입니다.
- 업그레이드: 지금 버전과 가장 가까운 패치 버전으로 올립니다.
- BIND 9.16.20
- BIND 9.17.17
- BIND 9.16.20-S1 (Supported Preview Edition)
- 바로 업그레이드할 수 없을 때 임시 조치: 기본 CHAOS 뷰
_bind를 포함한 모든 뷰에서 RRL을 끄면 문제의 어서션 검사까지 가지 않습니다. named.conf에서rate-limit구문을 모두 지우고, 기본 CHAOS 뷰를 대신할 뷰를 정의합니다. ISC가 제시한 예시는 아래와 같습니다.
view override_bind chaos {
recursion no;
notify no;
allow-new-zones no;
max-cache-size 2M;
zone "version.bind" chaos {
type primary;
database "_builtin version";
};
zone "hostname.bind" chaos {
type primary;
database "_builtin hostname";
};
zone "authors.bind" chaos {
type primary;
database "_builtin authors";
};
zone "id.server" chaos {
type primary;
database "_builtin id";
};
};
이 임시 조치를 하면 RRL 보호도 함께 사라집니다. 가능한 한 빨리 패치 버전으로 업그레이드하시기 바랍니다.
원문을 한국어로 번역·요약한 글입니다. 정확한 내용은 원문을 확인해 주세요. AI의 도움을 받아 작성하고 담당자가 검토했습니다.