🇰🇷 한글 설명
OpenBao 2.4.1 미만 버전에서 JSON 디코딩 시 직렬화된 크기보다 훨씬 큰 메모리를 사용하는 취약점이 발견되었습니다. 공격자가 압축 폭탄과 유사한 구조의 JSON 페이로드를 전송하면 인증 없이도 메모리 고갈(OOM)을 유발하여 시스템을 중단시킬 수 있습니다. 또한 대량의 문자열이 포함된 요청은 감사 시스템의 CPU 사용량을 급증시킬 수 있습니다.
💡 쉬운 설명
작은 크기의 데이터처럼 보이지만 실제로는 컴퓨터 메모리를 엄청나게 잡아먹는 특수한 JSON 파일을 보내는 공격입니다. 이 공격을 통해 인증 없이도 서버를 멈추게 하거나 컴퓨터를 느리게 만들 수 있습니다.
🇺🇸 원문 (English)
OpenBao is an open source identity-based secrets management system. In OpenBao versions prior to 2.4.1, JSON objects after decoding may use significantly more memory than their serialized version. It is possible to craft a JSON payload to maximize the factor between serialized memory usage and deserialized memory usage, similar to a zip bomb, with factors reaching approximately 35. This can be used to circumvent the max_request_size configuration parameter which is intended to protect against denial of service attacks. The request body is parsed into a map very early in the request handling chain before authentication, which means an unauthenticated attacker can send a specifically crafted JSON object and cause an out-of-memory crash. Additionally, for requests with large numbers of strings, the audit subsystem can consume large quantities of CPU. The vulnerability is fixed in version 2.4.1.
📍 영향받는 시스템
OpenBao versions prior to 2.4.1
⚔️ 공격 벡터
인증되지 않은 공격자가 메모리 팽창을 유도하는 특수하게 제작된 JSON 페이로드를 전송
🛡️ 대응 방법
OpenBao를 최신 버전인 2.4.1 이상으로 업데이트
🔧 검증 코드
출력된 버전이 2.4.1 미만인 경우 해당 취약점에 노출된 상태입니다.
openbao --version 2>/dev/null | grep -E '2\.[4-9]\.' || echo 'Version check required'