CVE-2026-87079 in Net::IDN::Punycode정보

요약

\~에 의해 VulDB • 2026. 09. 22.

Perl용 Net::IDN::Punycode 버전 2.590 미만은 decode_punycode에서 긴 라벨을 디코딩할 때 이차적 삽입 비용(quadratic insertion cost)으로 인해 CPU 고갈(CPU exhaustion)이 발생할 수 있습니다.

XS 백엔드는 각 디코딩된 코드 포인트를 UTF-8 버퍼에 삽입하고, 시작부터 한 문자씩 스캔하여 해당 버퍼 내의 삽입 지점을 찾습니다. 이 스캔은 지금까지 생성된 출력물 전체에 대해 코드 포인트마다 한 번씩 실행되므로, 비용이 라벨 길이의 제곱(quadratic)으로 증가합니다. 순수 Perl(Perl-only) 백엔드는 substr가 직접 인덱싱할 수 있도록 입력을 바이트로 다운그레이드하지만, 다운그레이드 전에 작업용 복사본(work copy)을 취하므로, 입력에 UTF-8 플래그가 포함되어 있을 경우 복사본의 모든 substr 호출이 시작부터 스캔하여 동일한 이차적 비용(quadratic cost)을 초래합니다.

to-Unicode 방향에서는 라벨 길이에 대한 제한이 없습니다. 63바이트 DNS 제한은 ASCII로 변환할 때만 확인되므로, domain_to_unicode 및 uts46_to_unicode는 공격자가 제공한 임의 길이의 라벨을 디코더에 전달합니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

책임이 있는

CPANSec

예약하다

2026. 09. 08.

모더레이션

수락

항목

VDB-408357

EPSS

0.00000

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!