🇰🇷 한글 설명
Argo Workflows 웹훅 인터셉터가 요청을 인증하기 전에 전체 요청 본문을 메모리에 로드하는 취약점입니다. 공격자는 수 GB의 대용량 요청을 공개된 /api/v1/events/ 엔드포인트로 전송하여 서버의 메모리를 고갈시키고 OOM 크래시로 인한 서비스 거부 공격을 수행할 수 있습니다.
💡 쉬운 설명
Argo 서버가 요청의 유효성을 확인하기 전에 모든 데이터를 메모리에 저장합니다. 공격자가 매우 큰 파일을 보내면 서버 메모리가 부족해져 시스템이 충돌합니다.
🇺🇸 원문 (English)
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Prior to versions 3.7.14 and 4.0.5, the Webhook Interceptor loads the entire request body into memory before authenticating the request or verifying its signature. This occurs on the /api/v1/events/ endpoint, which is publicly accessible (albeit intended for webhooks). An attacker can send a request with an extremely large body (e.g., multiple gigabytes), causing the Argo Server to allocate excessive memory, potentially leading to an Out-Of-Memory (OOM) crash and denial of service. This issue has been patched in versions 3.7.14 and 4.0.5.
📍 영향받는 시스템
Argo Workflows < 3.7.14 및 < 4.0.5
⚔️ 공격 벡터
공개 엔드포인트 /api/v1/events/에 수 GB의 대용량 요청 본문 전송으로 메모리 소진
🛡️ 대응 방법
Argo Workflows를 3.7.14 또는 4.0.5 이상으로 즉시 업그레이드
🔧 검증 코드
반환된 버전이 3.7.14 이상(3.x) 또는 4.0.5 이상(4.x)이면 패치됨. 이하면 취약함.
curl -s http://localhost:2746/api/version 2>/dev/null | grep -oP '\"version\":\s*\"\K[^\"]+'