🇰🇷 한글 설명
Parseable 3.0.0 미만 버전에서 인증 전 x-amz-firehose-common-attributes 헤더를 처리할 때 unwrap() 함수를 사용하여 발생하는 취약점입니다. 공격자가 비정상적인 헤더 데이터를 전송하면 Rust 패닉이 발생하여 서비스 거부(DoS) 또는 컨테이너 재시작 루프를 유발할 수 있습니다.
💡 쉬운 설명
로그 분석 프로그램이 잘못된 형식의 데이터를 받았을 때 이를 제대로 처리하지 못하고 갑자기 멈춰버리는 문제입니다. 공격자가 일부러 이상한 데이터를 보내 서비스가 계속 중단되게 만들 수 있습니다.
🇺🇸 원문 (English)
Parseable is a log analytics platform built for high-volume data ingestion and analysis. Prior to 3.0.0, src/handlers/http/middleware.rs uses unwrap() while parsing the x-amz-firehose-common-attributes header before authentication. A remote unauthenticated attacker can supply non-UTF-8 header data, malformed JSON, or invalid derived header values that trigger a Rust panic and interrupt request handling, allowing repeated requests to deny service or cause container restart loops. This issue is fixed in version 3.0.0.
📍 영향받는 시스템
Parseable version < 3.0.0
⚔️ 공격 벡터
인증되지 않은 원격 공격자가 조작된 HTTP 헤더(non-UTF-8, malformed JSON 등)를 전송
🛡️ 대응 방법
Parseable 버전을 3.0.0 이상으로 업데이트
🔧 검증 코드
명령어 실행 결과로 버전 번호가 3.0.0 이상이면 안전하며, 그 미만이면 취약합니다.
curl -s http://<target-ip>:<port>/version | grep -E '3\.[0-9]+\.[0-9]+'