ISC가 BIND 9의 취약점 CVE-2025-40777을 공개했습니다. 오래된 응답 제공(serve-stale) 기능을 켜고 stale-answer-client-timeout을 0으로 설정한 캐싱 리졸버가 특정 조합의 CNAME 체인을 만나면, named가 어서션 실패(assertion failure)로 종료될 수 있습니다. 심각도는 High, CVSS 점수는 7.5이며 원격에서 악용할 수 있습니다. 수정 버전은 BIND 9.20.11과 9.21.10입니다.
무엇이 발표되었나
ISC 공지에 따르면 다음 조건이 모두 맞을 때 문제가 발생합니다.
- named가 캐싱 리졸버로 동작하고
serve-stale-enable yes로 설정되어 있음 stale-answer-client-timeout이0으로 설정되어 있음 (원문 설명으로는 비활성화를 빼면 유일하게 허용되는 값)- 질의를 해석하는 중에 캐시된 레코드나 권한(authoritative) 레코드가 특정하게 조합된 CNAME 체인을 만남
공격자가 이런 상황을 만드는 질의를 보낼 수 있다면 named를 강제로 종료시킬 수 있습니다. CVSS 벡터는 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H로, 가용성에 영향을 주는 취약점입니다.
ISC 내부 테스트에서 발견되었으며, 공지 시점에 실제 악용 사례는 알려지지 않았습니다. ISC는 2025년 7월 9일 사전 통지(Early Notification)를 보낸 뒤 2025년 7월 16일 공개했습니다.
영향 범위
영향받는 버전은 다음과 같습니다.
- BIND 9.20.0 ~ 9.20.10
- BIND 9.21.0 ~ 9.21.9
- BIND Supported Preview Edition 9.20.9-S1 ~ 9.20.10-S1
원문에는 9.18.0 이전 버전(Supported Preview Edition은 9.18.11-S1 이전)은 평가하지 않았다고 적혀 있습니다.
영향을 받는 것은 리졸버입니다. 권한 서비스는 영향이 없는 것으로 보인다고 했지만, ISC는 권한 서버가 재귀 질의를 하는 경우를 다룬 문서(https://kb.isc.org/docs/why-does-my-authoritative-server-make-recursive-queries)를 함께 읽어 보라고 권합니다.
운영자가 할 일
- 설정 확인: 리졸버 설정에서
stale-answer-client-timeout 0을 쓰고 있는지 확인합니다. - 업그레이드: 지금 쓰는 버전과 가장 가까운 수정 버전으로 올립니다.
- BIND 9.20.11
- BIND 9.21.10
- BIND Supported Preview Edition 9.20.11-S1
- 임시 조치(Workaround): 바로 업그레이드할 수 없다면 설정 파일에
stale-answer-client-timeout off;나stale-answer-enable no;중 하나를 넣어 어서션 실패를 막을 수 있습니다. 이렇게 하면 오래된 응답 제공 동작이 달라지므로, 서비스 정책에 맞는지 검토한 뒤 적용하는 것이 좋습니다.
ISC는 현재 지원 중인 버전에만 패치를 제공합니다. 자세한 내용은 ISC 공식 공지를 참고하세요.
원문을 한국어로 번역·요약한 글입니다. 정확한 내용은 원문을 확인해 주세요. AI의 도움을 받아 작성하고 담당자가 검토했습니다.