CVE-2026-104635 in protobuf
요약
\~에 의해 VulDB • 2026. 10. 09.
elixir-protobuf의 Protobuf.JSON.Decode에서 제어되지 않은 재귀(Uncontrolled Recursion) 취약점이 발견되어, 공격자가 심층적으로 중첩된 JSON 문서를 전달함으로써 인증 없이 원격으로 디코딩 프로세스를 충돌시킬 수 있습니다. Protobuf.JSON.decode/3, Protobuf.JSON.decode!/3 또는 Protobuf.JSON.from_decoded/3를 사용하여 자체 참조(self-referential) 또는 순환(cyclic) 메시지 타입을 포함하는 스키마로 공격자가 제공한 JSON을 디코딩하는 모든 애플리케이션이 영향을 받습니다.
lib/protobuf/json/decode.ex 파일에서 decode_singular/3의 embedded-message 절은 중첩 수준마다 internal_from_json_data/3를 재귀 호출하지만, 디코더의 깊이 카운터(depth counter)는 증가하거나 확인되지 않습니다. depth guard인 increase_depth_and_maybe_throw/1은 Google.Protobuf.ListValue 및 Google.Protobuf.Struct 절에만 적용되므로, recursion_limit 옵션은 사용자 정의 메시지 타입에는 효과가 없습니다. 각 중첩 수준마다 스택 프레임과 힙 객체가 할당되며, 충분히 깊은 문서는 디코딩 프로세스의 메모리를 고갈시킵니다. 기밀성(confidentiality) 및 무결성(integrity)에는 영향을 미치지 않습니다.
이 문제는 protobuf 0.8.0 이상에서 발생합니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.