소식 › 보안·업데이트 · BIND보안DNSSECKeyTrap

BIND 보안 공지: 재귀 질의 패턴으로 메모리 부족(CVE-2023-6516) 외 6건

ISC가 2024년 2월 13일 BIND 9 취약점 7건을 공개했습니다. KeyTrap(CVE-2023-50387)을 포함해 모두 원격 서비스 거부로 이어질 수 있으며, 9.16.48·9.18.24·9.19.21에서 수정됐습니다.

ISC가 2024년 2월 13일 BIND 9 보안 취약점 7건을 공개했습니다. 7건 모두 원격에서 악용할 수 있습니다. 공격자는 메모리·CPU를 고갈시키거나 named를 비정상 종료시켜 서비스 거부(DoS) 상태를 만들 수 있습니다. 6건은 심각도 High(CVSS 7.5), 1건은 Medium(CVSS 5.3)입니다. 이 중 4건은 DNSSEC 검증, nxdomain-redirect, DNS64와 serve-stale 동시 사용, ECS처럼 특정 기능을 켠 경우에만 해당합니다. 수정 버전은 BIND 9.16.48, 9.18.24, 9.19.21이며, BIND Supported Preview Edition(-S1)은 9.16.48-S1과 9.18.24-S1입니다. 모든 건에 대해 ISC는 현재 알려진 실제 공격 사례가 없다고 밝혔습니다.

BIND Supported Preview Edition은 ISC가 자격을 갖춘 지원 고객에게 제공하는 특수 기능 프리뷰 브랜치입니다. 아래 표에서는 -S1이 붙은 버전으로 표기합니다.

한눈에 보기

번호 내용 심각도 영향 버전 수정 버전
CVE-2023-6516 특정 재귀 질의 패턴으로 메모리 부족 발생 가능 High (CVSS 7.5) 9.16.0 ~ 9.16.45 / 9.16.8-S1 ~ 9.16.45-S1 9.16.48 / 9.16.48-S1
CVE-2023-4408 대용량 DNS 메시지 파싱 시 과도한 CPU 부하 High (CVSS 7.5) 9.0.0 ~ 9.16.45, 9.18.0 ~ 9.18.21, 9.19.0 ~ 9.19.19 / 9.9.3-S1 ~ 9.11.37-S1, 9.16.8-S1 ~ 9.16.45-S1, 9.18.11-S1 ~ 9.18.21-S1 / (9.11.37, 9.11.37-S1 이전 버전은 평가하지 않음) 9.16.48, 9.18.24, 9.19.21 / 9.16.48-S1, 9.18.24-S1
CVE-2023-50387 KeyTrap: DNSSEC 검증기의 극심한 CPU 소모 High (CVSS 7.5) 9.0.0 ~ 9.16.46, 9.18.0 ~ 9.18.22, 9.19.0 ~ 9.19.20 / 9.9.3-S1 ~ 9.16.46-S1, 9.18.11-S1 ~ 9.18.22-S1 / (9.11.37, 9.11.37-S1 이전 버전은 평가하지 않음) 9.16.48, 9.18.24, 9.19.21 / 9.16.48-S1, 9.18.24-S1
CVE-2023-50868 NSEC3 최근접 상위 증명 생성 시 CPU 고갈 High (CVSS 7.5) 9.0.0 ~ 9.16.46, 9.18.0 ~ 9.18.22, 9.19.0 ~ 9.19.20 / 9.9.3-S1 ~ 9.16.46-S1, 9.18.11-S1 ~ 9.18.22-S1 / (9.11.37, 9.11.37-S1 이전 버전은 평가하지 않음) 9.16.48, 9.18.24, 9.19.21 / 9.16.48-S1, 9.18.24-S1
CVE-2023-5517 nxdomain-redirect 사용 시 RFC 1918 역방향 질의로 어서션 실패 High (CVSS 7.5) 9.12.0 ~ 9.16.45, 9.18.0 ~ 9.18.21, 9.19.0 ~ 9.19.19 / 9.16.8-S1 ~ 9.16.45-S1, 9.18.11-S1 ~ 9.18.21-S1 9.16.48, 9.18.24, 9.19.21 / 9.16.48-S1, 9.18.24-S1
CVE-2023-5679 DNS64와 serve-stale 동시 사용 시 어서션 실패 High (CVSS 7.5) 9.16.12 ~ 9.16.45, 9.18.0 ~ 9.18.21, 9.19.0 ~ 9.19.19 / 9.16.12-S1 ~ 9.16.45-S1, 9.18.11-S1 ~ 9.18.21-S1 9.16.48, 9.18.24, 9.19.21 / 9.16.48-S1, 9.18.24-S1
CVE-2023-5680 ECS 활성화 캐시 정리 시 과도한 CPU 부하 Medium (CVSS 5.3) Supported Preview Edition만 해당 / 9.11.3-S1 ~ 9.11.37-S1, 9.16.8-S1 ~ 9.16.45-S1, 9.18.11-S1 ~ 9.18.21-S1 / (9.11.37-S1 이전 버전은 평가하지 않음) 9.16.48-S1, 9.18.24-S1

건별 내용

CVE-2023-6516: 특정 재귀 질의 패턴으로 메모리 부족 발생 가능

재귀 리졸버(recursive resolver)로 동작하는 named는 캐시 데이터베이스 정리 작업 일부를 비동기로 처리합니다. 정리 대상을 가리키는 작은 메모리를 할당해 큐에 쌓아 두었다가 나중에 처리하는 방식입니다. 이런 정리 작업을 일으키는 질의 패턴이 계속 들어오면 named가 정리 이벤트를 제때 처리하지 못합니다. 그러면 큐가 끝없이 커져 설정한 max-cache-size를 크게 넘어설 수 있습니다. 최악의 경우 호스트의 메모리가 모두 소진되어 서비스 거부로 이어집니다. 알려진 우회 방법은 없습니다.

CVE-2023-4408: 대용량 DNS 메시지 파싱 시 과도한 CPU 부하

named의 DNS 메시지 파싱 코드 일부는 계산 복잡도가 지나치게 높습니다. 일반 트래픽에서는 문제가 없지만, 조작된 질의나 응답을 대량으로 보내면 CPU 부하가 크게 올라가 정상 클라이언트가 서비스를 받지 못할 수 있습니다. 권한 서버(authoritative server)와 재귀 리졸버 모두 영향을 받습니다. 알려진 우회 방법은 없습니다.

CVE-2023-50387: KeyTrap, DNSSEC 검증기의 극심한 CPU 소모

특수하게 조작된 DNSSEC 서명 영역에서 오는 응답을 처리하다가 DNSSEC 검증 리졸버(DNSSEC-validating resolver)의 CPU가 고갈될 수 있습니다. 공격자는 이런 질의를 대량으로 보내 리졸버 성능을 크게 떨어뜨릴 수 있습니다. DNSSEC 검증을 완전히 끄면 취약점은 사라지지만 ISC는 이를 권장하지 않습니다. 대신 수정 버전 설치를 강하게 권고합니다. 수정 버전에서는 매우 복잡한 DNSSEC 검증이 있더라도 서버의 다른 작업을 방해하지 않습니다.

CVE-2023-50868: NSEC3 최근접 상위 증명 생성 시 CPU 고갈

NSEC3를 쓰는 DNSSEC 서명 영역에서 오는 응답을 처리하다가 DNSSEC 검증 리졸버의 CPU가 고갈될 수 있습니다. ISC 내부 시험에서 발견된 건입니다. 우회 방법과 권고는 CVE-2023-50387과 같습니다. ISC는 이와 별도로, 권한 서버 운영자에게 RFC 9276("Guidance for NSEC3 Parameter Settings")의 NSEC3 매개변수 지침을 따를 것을 권고했습니다. 이 지침을 따르지 않으면 앞으로 리졸버들이 권고를 더 엄격하게 적용할 때 문제가 생길 수 있다고 덧붙였습니다.

CVE-2023-5517: nxdomain-redirect 사용 시 RFC 1918 역방향 질의로 어서션 실패

두 조건이 모두 충족되면 질의 하나로 named가 어서션 실패(assertion failure)로 종료됩니다. 첫째는 nxdomain-redirect <domain>;이 설정된 경우이고, 둘째는 원래 권한 있는 NXDOMAIN 응답이 나갈 RFC 1918 주소의 PTR 질의를 받은 경우입니다. nxdomain-redirect 기능을 끄면 문제가 되는 코드 경로에 도달하지 않습니다.

CVE-2023-5679: DNS64와 serve-stale 동시 사용 시 어서션 실패

DNS64와 서브 스테일(serve-stale)을 함께 켜 둔 상태에서는 재귀 질의 처리 중 named가 어서션 실패로 종료될 수 있습니다. 공격자는 DNS64가 켜진 리졸버에 serve-stale을 유발하는 도메인을 질의해 이 문제를 일으킬 수 있습니다. serve-stale을 끄거나(stale-cache-enable no;, stale-answer-enable no;), dns64를 끄거나, 둘 다 끄면 문제가 되는 코드 경로에 도달하지 않습니다.

CVE-2023-5680: ECS 활성화 캐시 정리 시 과도한 CPU 부하

이 건은 BIND Supported Preview Edition에만 해당합니다. 리졸버 캐시에 같은 이름의 ECS(EDNS Client Subnet) 레코드가 매우 많이 쌓이면, 그 이름의 캐시 노드를 정리하는 동안 질의 처리 성능이 크게 떨어질 수 있습니다. 공격자는 특정 질의를 보내 성능을 떨어뜨릴 수 있고, 최악의 경우 리졸버가 전혀 응답하지 않게 됩니다. ECS 기능을 완전히 끄는 것 말고는 우회 방법이 없습니다.

운영자가 할 일

원문을 한국어로 번역·요약한 글입니다. 정확한 내용은 원문을 확인해 주세요. AI의 도움을 받아 작성하고 담당자가 검토했습니다.

목록으로