ISC가 2022년 9월 21일 BIND 9 취약점 6건을 공개했습니다. 6건 모두 원격으로 악용할 수 있으며, 심각도는 High 4건, Medium 2건입니다. 대부분 named 비정상 종료, 메모리 고갈, 리졸버 성능 저하로 이어지는 서비스 거부(DoS) 유형입니다. 수정 버전은 BIND 9.16.33, 9.18.7, 9.19.5이고, BIND Supported Preview Edition은 9.16.33-S1입니다. ISC는 6건 모두 실제 악용 사례를 알지 못한다고 밝혔습니다. 건마다 영향받는 버전과 기능이 다르므로 운영 중인 버전과 설정을 함께 확인하시기 바랍니다.
한눈에 보기
| 번호 | 내용 | 심각도 | 영향 버전 | 수정 버전 |
|---|---|---|---|---|
| CVE-2022-3080 | stale-answer-client-timeout이 0이고 캐시에 만료된 CNAME이 있으면 리졸버가 비정상 종료될 수 있음 | High (CVSS 7.5) | 9.16.14 ~ 9.16.32 / 9.18.0 ~ 9.18.6 / 9.19.0 ~ 9.19.4 / 9.16.14-S1 ~ 9.16.32-S1 | 9.16.33 / 9.18.7 / 9.19.5 / 9.16.33-S1 |
| CVE-2022-2795 | 대규모 위임 처리로 리졸버 성능이 크게 떨어질 수 있음 | Medium (CVSS 5.3) | 9.0.0 ~ 9.16.32 / 9.18.0 ~ 9.18.6 / 9.19.0 ~ 9.19.4 / 9.9.3-S1 ~ 9.11.37-S1 / 9.16.8-S1 ~ 9.16.32-S1 | 9.16.33 / 9.18.7 / 9.19.5 / 9.16.33-S1 |
| CVE-2022-2881 | 통계 채널 코드에서 버퍼 초과 읽기 발생 | Medium (CVSS 5.5) | 9.18.0 ~ 9.18.6 / 9.19.0 ~ 9.19.4 | 9.18.7 / 9.19.5 |
| CVE-2022-2906 | OpenSSL 3.0.0 이상 사용 시 Diffie-Hellman 모드 TKEY 처리에서 메모리 누수 발생 | High (CVSS 7.5) | 9.18.0 ~ 9.18.6 / 9.19.0 ~ 9.19.4 | 9.18.7 / 9.19.5 |
| CVE-2022-38177 | ECDSA DNSSEC 검증 코드에서 메모리 누수 발생 | High (CVSS 7.5) | 9.8.4 ~ 9.16.32 / 9.9.4-S1 ~ 9.11.37-S1 / 9.16.8-S1 ~ 9.16.32-S1 | 9.16.33 / 9.16.33-S1 |
| CVE-2022-38178 | EdDSA DNSSEC 검증 코드에서 메모리 누수 발생 | High (CVSS 7.5) | 9.9.12 ~ 9.9.13 / 9.10.7 ~ 9.10.8 / 9.11.3 ~ 9.16.32 / 9.18.0 ~ 9.18.6 / 9.19.0 ~ 9.19.4 / 9.11.4-S1 ~ 9.11.37-S1 / 9.16.8-S1 ~ 9.16.32-S1 | 9.16.33 / 9.18.7 / 9.19.5 / 9.16.33-S1 |
건별 내용
CVE-2022-3080: 만료 캐시 응답 설정 시 named 비정상 종료
만료된 캐시(stale cache) 보관과 만료 응답(stale answer)을 켜고 stale-answer-client-timeout을 0으로 설정한 리졸버에서 문제가 생깁니다. 이 상태에서 들어온 질의에 해당하는 만료된 CNAME이 캐시에 있으면 named가 비정상 종료될 수 있습니다. 공격자는 특정 질의를 보내기만 하면 named를 종료시킬 수 있습니다. 회피 방법은 stale-answer-client-timeout을 off 또는 0보다 큰 정수로 설정하는 것입니다. 원문에 따르면 BIND 9.11 Supported Preview Edition에는 이 취약점이 없습니다.
CVE-2022-2795: 대규모 위임 처리에 따른 리졸버 성능 저하
리졸버 코드 결함 때문에 named가 대규모 위임(delegation)을 처리하는 데 지나치게 많은 시간을 쓸 수 있습니다. 공격자가 이 결함을 노린 질의를 대량으로 보내면 리졸버 성능이 크게 떨어져, 정상 클라이언트가 이름 풀이 서비스를 사실상 이용하지 못하게 될 수 있습니다. 알려진 회피 방법은 없습니다.
CVE-2022-2881: 통계 채널 버퍼 초과 읽기
통계 채널(statistics channel)에 통계를 요청하면서 HTTP 연결을 재사용하면, 이어지는 응답의 콘텐츠 길이가 할당된 버퍼 끝을 넘어설 만큼 커질 수 있습니다. 그 결과 읽어서는 안 되는 메모리를 읽거나 프로세스가 종료될 수 있습니다. 회피 방법은 통계 채널을 끄는 것입니다. 9.18 이전 버전은 영향이 없으며, BIND 9.16-S도 마찬가지입니다.
CVE-2022-2906: TKEY Diffie-Hellman 키 교환 메모리 누수 (OpenSSL 3.0.0 이상)
OpenSSL 1.x와 3.0 사이의 변경 때문에 named의 결함이 드러났습니다. OpenSSL 3.0.0 이상 환경에서 TKEY 레코드를 Diffie-Hellman 모드로 쓰면 키 처리 과정에서 소량의 메모리가 샙니다. 공격자는 이 결함으로 가용 메모리를 서서히 고갈시켜 named를 종료시킬 수 있습니다. 이 결함은 권한 DNS 서버(authoritative DNS server)의 TKEY 처리에만 영향을 주며, GSS-TSIG 모드의 TKEY 처리와 리졸버 기능은 영향이 없습니다. 알려진 회피 방법은 없고, 9.18 이전 버전은 영향이 없습니다.
CVE-2022-38177: ECDSA DNSSEC 검증 메모리 누수
ECDSA 알고리즘의 DNS 보안 확장(DNSSEC) 검증 코드는 서명 길이가 맞지 않을 때 메모리를 누수합니다. 공격자가 형식이 잘못된 ECDSA 서명을 담은 위조 응답을 리졸버에 보내면 소량의 메모리 누수를 일으킬 수 있고, 이것이 쌓이면 메모리 부족으로 named가 종료될 수 있습니다. 회피 방법은 disable-algorithms 옵션으로 ECDSAP256SHA256과 ECDSAP384SHA384를 비활성화하는 것입니다. 다만 이렇게 하면 해당 알고리즘으로 서명된 영역(zone)이 서명되지 않은(insecure) 영역으로 처리됩니다. 원문에 적힌 영향 버전은 9.8.4 ~ 9.16.32이며, 수정 버전은 9.16.33과 9.16.33-S1만 안내되어 있습니다.
CVE-2022-38178: EdDSA DNSSEC 검증 메모리 누수
EdDSA 알고리즘의 DNSSEC 검증 코드도 서명 길이가 맞지 않을 때 메모리를 누수합니다. 공격자가 형식이 잘못된 EdDSA 서명을 담은 위조 응답을 리졸버에 보내면 메모리를 서서히 고갈시켜 named를 종료시킬 수 있습니다. 회피 방법은 disable-algorithms 옵션으로 ED25519와 ED448을 비활성화하는 것이며, 이 경우에도 해당 알고리즘으로 서명된 영역은 서명되지 않은 영역으로 처리됩니다.
운영자가 할 일
- 버전 확인: 운영 중인 BIND 버전이 위 표의 영향 버전에 해당하는지 확인합니다. 9.18 이전 버전은 CVE-2022-2881과 CVE-2022-2906의 영향을 받지 않고, 9.18 이후 버전은 CVE-2022-38177의 영향 버전에 포함되지 않습니다.
- 업그레이드: 현재 버전과 가장 가까운 수정 버전으로 올립니다. 9.16 계열은 9.16.33, 9.18 계열은 9.18.7, 9.19 계열은 9.19.5, Supported Preview Edition은 9.16.33-S1입니다.
- 지원 종료 버전: ISC는 현재 지원하는 버전만 패치합니다. 9.11.x-S1 등 영향 버전에 포함되지만 수정 버전이 안내되지 않은 계열을 운영 중이라면, 지원되는 버전으로 옮기는 계획을 세우시기 바랍니다.
- 즉시 업그레이드가 어렵다면 회피 방법 검토:
- CVE-2022-3080:
stale-answer-client-timeout을off또는 0보다 큰 값으로 설정합니다. - CVE-2022-2881: 통계 채널을 쓰지 않는다면 비활성화합니다.
- CVE-2022-38177, CVE-2022-38178:
disable-algorithms로 해당 알고리즘을 비활성화할 수 있습니다. 다만 해당 알고리즘으로 서명된 영역의 DNSSEC 검증이 이루어지지 않으므로 영향을 충분히 검토한 뒤 적용합니다. - CVE-2022-2795, CVE-2022-2906: 알려진 회피 방법이 없으므로 업그레이드가 유일한 대응입니다.
- CVE-2022-3080:
- 모니터링: 업그레이드 전까지 named의 메모리 사용량 추이, 리졸버 응답 성능, 프로세스 재시작 여부를 지켜봅니다.
원문을 한국어로 번역·요약한 글입니다. 정확한 내용은 원문을 확인해 주세요. AI의 도움을 받아 작성하고 담당자가 검토했습니다.