Closed
Description
Hello,
I am working on integrating fuzzer to project h2
. My goal is to include it in the oss-fuzz
project. I believe that this can be a valuable contribution to the library, the importance of which is becoming more and more higher, among others due to the use by httpx
- the library which popularity also growing.
I identified the first problems and I would like to know if such problems are interesting for your project and your are interested to handle them.
import h2.connection
import h2.config
from h2.exceptions import ProtocolError
payload = b'\x00\x00\x08\x01\x05\xef\x00\x00@\x00\x00\x05\x00\x00\x00\x00\x04\x8c\x00'
config = h2.config.H2Configuration()
conn = h2.connection.H2Connection(config=config)
try:
conn.receive_data(payload)
conn.data_to_send()
except ProtocolError:
pass
Traceback (most recent call last):
File "/tmp/h2-fuzz/test2.py", line 9, in <module>
conn.receive_data(payload)
File "/tmp/tmp.mokMU0wrkK/lib/python3.9/site-packages/h2/connection.py", line 1463, in receive_data
events.extend(self._receive_frame(frame))
File "/tmp/tmp.mokMU0wrkK/lib/python3.9/site-packages/h2/connection.py", line 1486, in _receive_frame
frames, events = self._frame_dispatch_table[frame.__class__](frame)
File "/tmp/tmp.mokMU0wrkK/lib/python3.9/site-packages/h2/connection.py", line 1560, in _receive_headers_frame
frames, stream_events = stream.receive_headers(
File "/tmp/tmp.mokMU0wrkK/lib/python3.9/site-packages/h2/stream.py", line 1057, in receive_headers
events[0].headers = self._process_received_headers(
File "/tmp/tmp.mokMU0wrkK/lib/python3.9/site-packages/h2/stream.py", line 1300, in _process_received_headers
return list(headers)
File "/tmp/tmp.mokMU0wrkK/lib/python3.9/site-packages/h2/utilities.py", line 492, in inner
for header in headers:
File "/tmp/tmp.mokMU0wrkK/lib/python3.9/site-packages/h2/utilities.py", line 437, in _validate_host_authority_header
for header in headers:
File "/tmp/tmp.mokMU0wrkK/lib/python3.9/site-packages/h2/utilities.py", line 331, in _reject_pseudo_header_fields
for header in headers:
File "/tmp/tmp.mokMU0wrkK/lib/python3.9/site-packages/h2/utilities.py", line 287, in _reject_connection_header
for header in headers:
File "/tmp/tmp.mokMU0wrkK/lib/python3.9/site-packages/h2/utilities.py", line 271, in _reject_te
for header in headers:
File "/tmp/tmp.mokMU0wrkK/lib/python3.9/site-packages/h2/utilities.py", line 255, in _reject_surrounding_whitespace
if header[0][0] in _WHITESPACE or header[0][-1] in _WHITESPACE:
IndexError: index out of range
Metadata
Metadata
Assignees
Labels
No labels