--- tags: - security - proof-of-concept - protobuf license: mit --- # Protocol Buffers DescriptorProto field materialization DoS PoC This repository contains a benign security research PoC for a `.pb` artifact that drives repeated-message materialization during `descriptor_pb2.DescriptorProto.ParseFromString(...)`. Files: - `control_zero_field.pb` - `malicious_field_5000000.pb` - `reproduce.py` Observed behavior: - control artifact: - parses successfully with zero `field` entries - malicious artifact: - parses successfully with `5,000,000` `field` entries - materially increases peak RSS during normal parse Tested runtime: ```bash python3 -m pip install protobuf==7.35.1 ``` Public reproduction: ```bash curl -L -O https://huggingface.co/hacnho/protobuf-descriptor-field-dos-poc/resolve/main/control_zero_field.pb curl -L -O https://huggingface.co/hacnho/protobuf-descriptor-field-dos-poc/resolve/main/malicious_field_5000000.pb curl -L -O https://huggingface.co/hacnho/protobuf-descriptor-field-dos-poc/resolve/main/reproduce.py python3 reproduce.py --control control_zero_field.pb --malicious malicious_field_5000000.pb ``` Public files: - `https://huggingface.co/hacnho/protobuf-descriptor-field-dos-poc/resolve/main/control_zero_field.pb` - `https://huggingface.co/hacnho/protobuf-descriptor-field-dos-poc/resolve/main/malicious_field_5000000.pb` - `https://huggingface.co/hacnho/protobuf-descriptor-field-dos-poc/resolve/main/reproduce.py`