🔍 CVE-2026-56018

7.5
CVSS Score
HIGH
2026-06-29
2026-10-25 21:10
✅ 완료

🇰🇷 한글 설명

Perl용 JavaScript::Minifier::XS 0.16 이전 버전은 minify() 호출 시마다 메모리를 해제하지 않아 메모리 누수가 발생합니다. 토큰 내용 버퍼와 빈 노드 목록의 NodeSet이 정리되지 않아 호출 횟수에 비례해 메모리 사용량이 무제한으로 증가합니다.

💡 쉬운 설명

이 프로그램은 자바스크립트 코드를 압축할 때마다 사용한 메모리를 제대로 반환하지 않습니다. 장시간 실행되는 서버나 빌드 도구에서는 메모리가 계속 늘어나 결국 시스템이 멈추거나 프로세스가 강제 종료될 수 있습니다.

🇺🇸 원문 (English)

JavaScript::Minifier::XS versions before 0.16 for Perl leak memory on every call to minify(), allowing unbounded memory growth. In JsMinify (XS.xs) the cleanup frees only the NodeSet structures and never the per-token contents buffers allocated in JsSetNodeContents; JsDiscardNode unlinks nodes without freeing their contents. Each token's contents buffer is therefore leaked on every call, and the two early returns taken when the node list is empty leak the whole NodeSet. A long-lived process that minifies repeatedly, such as an asset pipeline or a server-side minifier endpoint, grows in memory without bound until it exhausts available memory and is killed, causing denial of service.

📍 영향받는 시스템

JavaScript::Minifier::XS 0.16 미만 버전을 사용하는 Perl 애플리케이션 (자산 빌드 파이프라인, 서버 측 minifier 엔드포인트 등)

⚔️ 공격 벡터

공격자가 대량의 또는 반복적인 minify 요청을 보내 서버 메모리를 고갈시켜 서비스 거부(DoS)를 유발

🛡️ 대응 방법

JavaScript::Minifier::XS를 0.16 이상으로 업그레이드 (cpanm JavaScript::Minifier::[email protected] 또는 CPAN에서 최신 버전 설치)

🔧 검증 코드

출력된 버전이 0.16 미만이면 취약하며, 0.16 이상이면 패치가 적용된 상태입니다. 아무 출력이 없으면 모듈이 설치되어 있지 않은 것입니다.

Shell / Script
perl -MJavaScript::Minifier::XS -e 'print "$JavaScript::Minifier::XS::VERSION\n"' 2>/dev/null

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Oracle Java SE