🇰🇷 한글 설명
pdfme 및 pdf-lib 5.5.10 미만 버전의 DecodeStream.ensureBuffer() 메서드에서 경계 없는 버퍼 증가 취약점이 발견되었습니다. 공격자가 압축 해제 시 용량이 급격히 늘어나는 'decompression bomb'이 포함된 PDF를 제공할 경우, 메모리 고갈로 인해 Node.js 프로세스가 중단되거나 브라우저 탭이 멈추는 서비스 거부(DoS) 상태가 발생할 수 있습니다.
💡 쉬운 설명
작은 크기의 PDF 파일이 압축을 풀었을 때 엄청나게 큰 용량으로 변하여 컴퓨터의 메모리를 모두 써버리는 공격입니다. 이로 인해 프로그램이 멈추거나 웹 브라우저가 응답하지 않게 됩니다.
🇺🇸 원문 (English)
pdfme pdf-lib versions before 5.5.10 contain an unbounded buffer growth vulnerability in the DecodeStream.ensureBuffer() method that allows attackers to cause denial of service by supplying a crafted PDF with a FlateDecode stream containing a decompression bomb. Attackers can upload a small compressed PDF that decompresses to hundreds of megabytes, exhausting memory and crashing the Node.js process or freezing browser tabs during PDF parsing.
📍 영향받는 시스템
pdfme 및 pdf-lib 5.5.10 미만 버전
⚔️ 공격 벡터
FlateDecode 스트림에 압축 폭탄(decompression bomb)이 포함된 조작된 PDF 파일을 업로드하여 공격
🛡️ 대응 방법
pdfme 및 pdf-lib 라이브러리를 5.5.10 이상의 최신 버전으로 업데이트
🔧 검증 코드
출력된 결과에서 pdfme 또는 pdf-lib의 버전이 5.5.10 미만인지 확인