목록 보기
엑셀 업로드 중 발생한 Zip Bomb 에러 파헤치기!
백엔드

엑셀 업로드 중 발생한 Zip Bomb 에러 파헤치기!

마켓컬리
마켓컬리
2024년 10월 23일

두줄요약

엑셀 업로드 중 Apache POI가 Zip Bomb으로 파일을 차단한 원인과 로그 분석 과정을 정리했습니다. 최소 압축 비율 조정과 파일 크기·중첩 레벨 점검으로 대응했습니다.

문제 상황

  • 엑셀 업로드 과정에서 Apache POI가 Zip Bomb으로 파일을 차단하며 XSSFWorkbook 생성 시 오류 발생
  • 로그에 압축 해제 후 크기, 압축 크기, 최소 압축 비율, 문제 엔트리 정보가 함께 노출

원인 분석

  • .xlsx 내부의 XML 압축 구조 특성상 압축률이 매우 높아 Zip Bomb으로 오인 가능
  • 문제 파일은 styles.xml에 반복적인 스타일 정의가 많아 압축률이 임계값을 약간 초과

해결 방법

  • ZipSecureFile.setMinInflateRatio()로 최소 압축 해제 비율 조정
  • 압축 파일 총 해제 크기와 중첩 레벨을 사전 점검해 차단

주의할 점

  • 비율 완화는 보안 검사를 느슨하게 만드는 만큼 악성 파일 대응 필요
  • 서비스 특성에 따라 허용 기준과 보안 강도를 함께 검토 필요

적용해볼 점

  • 업로드 파일 처리 전에 로그와 압축 메타데이터를 먼저 확인
  • 엑셀 내부 XML 구조와 반복 데이터가 압축률에 미치는 영향 점검

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...