🇰🇷 한글 설명
Lookyloo는 업로드된 캡처 아카이브 및 압축된 HAR 파일의 압축 해제 크기에 대한 제한을 강제하지 않습니다. 공격자가 압축 해제 시 매우 큰 크기로 확장되는 특수하게 제작된 파일을 제출하면 메모리 고갈을 유발하여 서비스 거부(DoS) 상태를 만들 수 있습니다.
💡 쉬운 설명
압축을 풀었을 때 용량이 엄청나게 커지는 '압축 폭탄' 파일을 올려서 서버의 메모리를 가득 채우는 공격입니다. 이로 인해 서비스가 멈추거나 서버가 다운될 수 있습니다.
🇺🇸 원문 (English)
Lookyloo did not enforce limits on the decompressed size of uploaded capture archives and compressed HAR files.
An attacker could submit a specially crafted ZIP, gzip, or zlib-compressed capture containing data that expands to a very large size during processing. Because the application decompressed this content directly in memory without first limiting the output size, processing the malicious capture could exhaust available memory, terminate a web or worker process, or make the Lookyloo instance unavailable.
The vulnerability affects both full Lookyloo capture archive imports and API submissions containing gzip-compressed HAR data. Repeated exploitation could cause a persistent denial-of-service condition until the affected processes or instance are restarted.
The patch introduces:
* A 1 GB cumulative uncompressed-size limit for imported capture archives.
* Size-limited gzip and zlib decompression for compressed HAR files.
* Explicit detection and handling of suspected zip bombs.
* An HTTP 400 response when an oversized compressed HAR file is submitted through the API.
📍 영향받는 시스템
Lookyloo (capture archive import 및 API HAR submission 기능 사용 시)
⚔️ 공격 벡터
압축 해제 시 크기가 급격히 팽창하는 ZIP, gzip, zlib 파일을 업로드하거나 API로 전송
🛡️ 대응 방법
압축 해제 크기 제한(1GB) 및 압축 폭탄 탐지 기능이 포함된 최신 패치 적용
🔧 검증 코드
패치 적용 후 용량이 초과된 파일을 전송했을 때 HTTP 400 Bad Request 응답이 오는지 확인
curl -I -X POST [API_ENDPOINT] -F 'file=@large_zip_bomb.zip' | grep 'HTTP/1.1 400'