elixir-grpc grpc의 신뢰할 수 없는 데이터 역직렬화 및 제한 없는 리소스 할당 또는 제한 없는 리소스 할당으로 인해 인증되지 않은 공격자가 아톰 테이블 고갈을 통해 BEAM 노드를 충돌시킬 수 있으며, 디코딩된 용어가 이를 호출하는 호출 사이트로 유입되면 서버에서 원격 코드 실행이 가능해집니다. 'Elixir.GRPC.Codec.Erlpack':decode/2 (lib/grpc/codec/erlpack.ex)는 :safe 옵션 없이, 크기 제한도 없고, gua 유형도 없이 원시 gRPC 메시지 본문에서 :erlang.binary_to_term/1을 호출합니다.
elixir-grpc grpc의 신뢰할 수 없는 데이터 역직렬화 및 제한 없는 리소스 할당 또는 제한 없는 리소스 할당으로 인해 인증되지 않은 공격자가 아톰 테이블 고갈을 통해 BEAM 노드를 충돌시킬 수 있으며, 디코딩된 용어가 이를 호출하는 호출 사이트로 유입되면 서버에서 원격 코드 실행이 가능해집니다.
'Elixir.GRPC.Codec.Erlpack':decode/2 (lib/grpc/codec/erlpack.ex)는 :safe 옵션, 크기 제한 및 유형 가드 없이 원시 gRPC 메시지 본문에서 :erlang.binary_to_term/1을 호출합니다. Content-Type: application/grpc+erlpack을 사용하여 요청을 보내는 인증되지 않은 피어는 임의의 새 원자(가비지 수집되지 않고 제한된 원자 테이블을 소진하고 VM을 충돌시킴)를 생성하거나 다운스트림 어디에나 적용될 경우 서버 프로세스 내에서 공격자가 제어하는 코드를 실행하는 재미있는 용어를 인코딩하는 조작된 페이로드를 보낼 수 있습니다.
이 문제는 1.0.0 이전의 0.4.0부터 grpc에 영향을 미칩니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 92.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 92.00 |
VPI 공식 vpi-v1 기준