🇰🇷 한글 설명
NLnet Labs Unbound 1.16.2~1.25.0에서 'ghost domain names' 계열 공격에 취약하며, 캐시된 TTL만큼 ghost domain 윈도우를 확장할 수 있습니다. 공격자가 제어하는 영역에서 NS 쿼리를 보내면 parent-side referral NS rrset이 child-side apex NS rrset으로 덮어씌워져 도메인 정보의 유효 기간이 연장됩니다. Unbound 1.25.1에서 NS 레코드의 TTL 연장을 차단하는 패치가 적용되었습니다.
💡 쉬운 설명
Unbound DNS 서버가 공격자가 보낸 특정 DNS 쿼리에 의해 속아서, 가짜 도메인 정보를 더 오래 기억하게 됩니다. 이를 통해 공격자가 사용자를 제어하는 악성 사이트로 유도할 수 있습니다.
🇺🇸 원문 (English)
NLnet Labs Unbound 1.16.2 up to and including version 1.25.0 has a vulnerability of the 'ghost domain names' family of attacks that could extend the ghost domain window by up to one cached TTL configured value. Similar to other 'ghost domain names' attacks, an adversary needs to control a (ghost) zone and be able to query a vulnerable Unbound. A single client NS query can cause Unbound to overwrite the cached expired parent-side referral NS rrset with the child-side apex NS rrset and essentially extend the ghost domain window by up to one cached TTL configured value ('cache-max-ttl'). In configurations where 'harden-referral-path: yes' is used (non-default configuration), no client NS query is required since Unbound implicitly performs that query. Unbound 1.25.1 contains a patch with a fix that does not allow extension of TTLs for (parent) NS records regardless of their trust.
📍 영향받는 시스템
NLnet Labs Unbound 1.16.2 ~ 1.25.0
⚔️ 공격 벡터
DNS NS 쿼리를 통해 캐시된 parent-side referral NS rrset을 child-side apex NS rrset으로 덮어씀, harden-referral-path 옵션 활성화 시 암묵적 쿼리만으로도 공격 가능
🛡️ 대응 방법
Unbound를 1.25.1 이상으로 업그레이드하세요.
🔧 검증 코드
1.25.1 이상이 출력되면 패치됨, 1.25.0 이하가 출력되면 취약함
unbound -v 2>/dev/null | grep -oE '(1\.2[0-4]\.[0-9]+|1\.(1[6-9]|2[0-4])\.[0-9]+)'