hacnho commited on
Commit
2780fd7
·
verified ·
1 Parent(s): b1ca357

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +42 -0
README.md ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ tags:
3
+ - security
4
+ - proof-of-concept
5
+ - protobuf
6
+ license: mit
7
+ ---
8
+
9
+ # Protocol Buffers Field options materialization DoS PoC
10
+
11
+ This repository contains a benign security research PoC for a `.pb` artifact
12
+ that drives repeated-message materialization during
13
+ `type_pb2.Field.ParseFromString(...)`.
14
+
15
+ Files:
16
+
17
+ - `control_one_name.pb`
18
+ - `malicious_options_5000000.pb`
19
+ - `reproduce.py`
20
+
21
+ Observed behavior:
22
+
23
+ - control artifact:
24
+ - parses successfully with no `options` entries
25
+ - malicious artifact:
26
+ - parses successfully with `5,000,000` `options` entries
27
+ - materially increases peak RSS during normal parse
28
+
29
+ Tested runtime:
30
+
31
+ ```bash
32
+ python3 -m pip install protobuf==7.35.1
33
+ ```
34
+
35
+ Public reproduction:
36
+
37
+ ```bash
38
+ curl -L -O https://huggingface.co/hacnho/protobuf-type-field-options-dos-poc/resolve/main/control_one_name.pb
39
+ curl -L -O https://huggingface.co/hacnho/protobuf-type-field-options-dos-poc/resolve/main/malicious_field_options_5000000.pb
40
+ curl -L -O https://huggingface.co/hacnho/protobuf-type-field-options-dos-poc/resolve/main/reproduce.py
41
+ python3 reproduce.py --control control_one_name.pb --malicious malicious_field_options_5000000.pb
42
+ ```