🇰🇷 한글 설명
Apache Axis2/Java의 JSON 메시지 빌더(Gson, Moshi, HTTP/2 변형 포함)가 요청 본문 크기 제한 없이 전체를 버퍼링하여, 인증되지 않은 공격자가 대용량 JSON 요청으로 서버 메모리를 고갈시킬 수 있습니다. 2.0.2 버전부터 jsonMaxRequestSize 파라미터로 JSON 요청 본문 크기를 제한합니다. 2.0.1 이하 버전이 영향을 받으며 2.0.2 이상으로 업그레이드가 권장됩니다.
💡 쉬운 설명
공격자가 아주 큰 JSON 데이터를 보내면 서버가 그 데이터를 모두 메모리에 올리느라 메모리가 바닥나 서비스가 멈출 수 있습니다. 로그인 없이도 공격이 가능하므로 Axis2를 2.0.2 이상으로 업데이트해야 합니다.
🇺🇸 원문 (English)
Allocation of Resources Without Limits or Throttling vulnerability in Apache Axis2/Java. The JSON message builders, including the Gson, Moshi and HTTP/2 variants, buffered the entire request body with no size limit, so an unauthenticated caller could exhaust server memory with a large JSON request. Version 2.0.2 bounds JSON request bodies with the configurable jsonMaxRequestSize parameter. This issue affects Apache Axis2/Java: through 2.0.1. Users are recommended to upgrade to version 2.0.2, which fixes the issue.
📍 영향받는 시스템
Apache Axis2/Java 2.0.1 이하 버전
⚔️ 공격 벡터
인증 없이 대용량 JSON 요청 본문을 전송하여 서버 메모리를 고갈시키는 DoS 공격
🛡️ 대응 방법
Apache Axis2/Java를 2.0.2 이상으로 업그레이드하고 jsonMaxRequestSize 파라미터로 요청 크기 제한을 설정
🔧 검증 코드
출력된 JAR 경로와 Implementation-Version 값을 확인하여 2.0.2 미만이면 취약하고, 2.0.2 이상이면 패치된 버전입니다. 결과가 없으면 Axis2가 설치되어 있지 않습니다.
find / -name 'axis2-*.jar' 2>/dev/null | xargs -I{} sh -c 'unzip -p {} META-INF/MANIFEST.MF 2>/dev/null | grep -i "Implementation-Version" | sed "s|^|{}: |"'