🇰🇷 한글 설명
Zeroconf 라이브러리의 _read_character_string 및 _read_string 함수에서 RDLENGTH 값을 검증하지 않아 발생하는 취약점입니다. 공격자가 조작된 UDP/5353 패킷을 보내 로컬 네트워크 내의 DNSCache 및 ServiceInfo.properties 데이터를 잘린 형태의 공격자 의도대로 조작할 수 있습니다.
💡 쉬운 설명
네트워크에서 장치를 자동으로 찾는 기능에 결함이 있어, 같은 네트워크에 있는 해커가 가짜 정보를 보내 시스템 설정을 망가뜨릴 수 있습니다. 이로 인해 서비스 정보가 잘못 저장되거나 오작동이 발생할 수 있습니다.
🇺🇸 원문 (English)
Zeroconf is a pure Python implementation of multicast DNS service discovery. Prior to 0.149.16, _read_character_string and _read_string in src/zeroconf/_protocol/incoming.py advanced self.offset by attacker-declared RDLENGTH without checking it against self._data_len, allowing unauthenticated hosts on the local link over UDP/5353 (224.0.0.251 / ff02::fb) to send a TXT, HINFO, or A/AAAA record with rdlength=65535 and seed DNSCache and ServiceInfo.properties with truncated, attacker-shaped key/value or address records. This issue is fixed in version 0.149.16.
📍 영향받는 시스템
Zeroconf library versions prior to 0.149.16
⚔️ 공격 벡터
Local link via UDP/5353 (Multicast DNS)
🛡️ 대응 방법
Zeroconf 라이브러리를 0.149.16 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 0.149.16보다 낮으면 취약한 상태입니다.
pip show zeroconf | grep Version