Protocol Buffers ServiceDescriptorProto method materialization DoS PoC

This repository contains a benign security research PoC for a .pb artifact that drives repeated-message materialization during descriptor_pb2.ServiceDescriptorProto.ParseFromString(...).

Files:

  • control_zero_method.pb
  • malicious_method_5000000.pb
  • reproduce.py

Observed behavior:

  • control artifact:
    • parses successfully with zero method entries
  • malicious artifact:
    • parses successfully with 5,000,000 method entries
    • materially increases peak RSS during normal parse

Tested runtime:

python3 -m pip install protobuf==7.35.1

Public reproduction:

curl -L -O https://huggingface.co/hacnho/protobuf-servicedescriptor-method-dos-poc/resolve/main/control_zero_method.pb
curl -L -O https://huggingface.co/hacnho/protobuf-servicedescriptor-method-dos-poc/resolve/main/malicious_method_5000000.pb
curl -L -O https://huggingface.co/hacnho/protobuf-servicedescriptor-method-dos-poc/resolve/main/reproduce.py
python3 reproduce.py --control control_zero_method.pb --malicious malicious_method_5000000.pb

Public files:

  • https://huggingface.co/hacnho/protobuf-servicedescriptor-method-dos-poc/resolve/main/control_zero_method.pb
  • https://huggingface.co/hacnho/protobuf-servicedescriptor-method-dos-poc/resolve/main/malicious_method_5000000.pb
  • https://huggingface.co/hacnho/protobuf-servicedescriptor-method-dos-poc/resolve/main/reproduce.py
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support