🇰🇷 한글 설명
n8n은 오픈소스 워크플로 자동화 플랫폼입니다. 2.24.0 이전 버전에서 Compression 노드의 Decompress 작업이 압축 해제 결과의 크기 제한 없이 공격자가 제어하는 아카이브를 메모리에 펼쳐, 인증되지 않은 공격자가 작은 압축 파일을 공개 웹훅 워크플로로 보내 메모리 고갈을 일으키고 같은 인스턴스의 모든 워크플로를 중단시킬 수 있습니다. 2.24.0에서 수정되었습니다.
💡 쉬운 설명
n8n이라는 자동화 도구에서 압축 파일을 풀 때 크기 제한이 없어, 외부인이 작은 압축 파일 하나로 서버 메모리를 가득 채워 서비스를 멈출 수 있습니다. 최신 버전으로 업데이트하면 이 문제가 해결됩니다.
🇺🇸 원문 (English)
n8n is an open source workflow automation platform. Prior to 2.24.0, the Compression node's Decompress operation expanded attacker-controlled archives into memory without enforcing limits on decompressed output size. An unauthenticated attacker could send a small compressed archive to a public webhook workflow using this node, causing the n8n process to terminate due to memory exhaustion and disrupting all workflows in the same instance. This vulnerability is fixed in 2.24.0.
📍 영향받는 시스템
n8n 2.24.0 미만 버전 (Compression 노드의 Decompress 작업을 사용하는 공개 웹훅 워크플로가 있는 인스턴스)
⚔️ 공격 벡터
인증 없이 공개 웹훅 엔드포인트로 압축 폭탄(작은 압축 파일이 거대한 데이터로 풀리는 파일)을 전송하여 메모리 고갈로 n8n 프로세스를 종료시킴
🛡️ 대응 방법
n8n을 2.24.0 이상으로 업데이트하거나, 임시 조치로 Compression 노드를 사용하는 공개 웹훅 워크플로를 비활성화
🔧 검증 코드
출력된 버전 번호가 2.24.0 미만이면 취약하며, 2.24.0 이상이면 수정된 버전입니다 (npm 외 Docker 등으로 설치한 경우 해당 방식의 버전 확인 필요).
npm list -g n8n 2>/dev/null | grep n8n@