MozillaSecurity / MozillaSecurity/FuzzManager
[CrashManager] Setting "value" of "testcase" type field to "53-2" throws a stacktrace
Open
Nobody has claimed this yet.
bug
crashmanager
- Dominant language
- Python
- Stars
- 208
- Forks
- 48
- Avg merge
- 23h 5m
- Merged PRs (30d)
- 2
Description
Setting a bucket with the following signature:
{
"symptoms": [
{
"src": "stderr",
"type": "output",
"value": "/\\[Non\\-crash bug\\] Mismatch on stdout/"
},
{
"type": "testcase",
"value": "53-2"
}
]
}
causes this stacktrace in FuzzManager:
Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py" in _wrapped_view
23. return view_func(request, *args, **kwargs)
File "./crashmanager/views.py" in newSignature
609. return __handleSignaturePost(request, bucket)
File "./crashmanager/views.py" in __handleSignaturePost
563. requiredOutputSources=requiredOutputs))
File "/srv/fuzzmanager.fuzzing.mozilla.org/FuzzManager/FTB/Signatures/CrashSignature.py" in matches
104. if not symptom.matches(crashInfo):
File "/srv/fuzzmanager.fuzzing.mozilla.org/FuzzManager/FTB/Signatures/Symptom.py" in matches
279. if self.output.matches(line):
File "/srv/fuzzmanager.fuzzing.mozilla.org/FuzzManager/FTB/Signatures/Matchers.py" in matches
67. return self.value in val
Exception Type: UnicodeDecodeError at /crashmanager/signatures/new/
Exception Value: 'ascii' codec can't decode byte 0xe3 in position 7: ordinal not in range(128)
Instead of 53-2 which fails, I can set to /53-2/, which works.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the signature submission at crashmanager/views.py in newSignature and follow the stack trace through FTB/Signatures/Symptom.py and FTB/Signatures/Matchers.py. Verify that a testcase value of "53-2" no longer raises UnicodeDecodeError, while the slash-wrapped form continues to work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- django, python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100