mirror of
https://github.com/jmcnamara/libxlsxwriter.git
synced 2026-05-15 14:15:54 -06:00
[GH-ISSUE #323] Fuzzing issues: help needed #261
Labels
No labels
awaiting user feedback
bug
cmake
cmake
docs
feature request
in progress
long term
medium term
medium term
pull-request
question
question
ready to close
short term
under investigation
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/libxlsxwriter#261
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jmcnamara on GitHub (Mar 27, 2021).
Original GitHub issue: https://github.com/jmcnamara/libxlsxwriter/issues/323
Originally assigned to: @jmcnamara on GitHub.
There are 2 fuzzing issues that have been reported:
I've closed the originals to merge them into this single amalgamated issue but you can see the details in the links.
I'm looking for someone to:
@ANaumann85 commented on GitHub (Apr 4, 2021):
I looked at the buffer-overflow in issue #313 . In that example, the user creates a buffer on the heap, but gives the wrong buffer size to the function "worksheet_insert_image_buffer". At that point, you have very small chances to detect that mistake. In my optinion, the issue #313 is not a bug in the library, but a wrong usage.
@ANaumann85 commented on GitHub (Apr 4, 2021):
The issue #312 is a bit delicate and consists of two problems:
It seems, that you rely on the null terminator of a string. For example in the file worksheet.c is a check for the end of the string using
!*string. That works only, if your string is really terminated by a 0. But if you get a zero-length array without the null-terminator, then the test does not work.the function
lxw_utf8_strlenalso relies on the zero-terminated string. If your string is not zero-terminated, the loop will not stop at the end of the string, but some where else.Both problems arise, if you got wrongly terminated strings. It is not clear to me, how one should handle these errors. In my opinion, these are user errors.
@jmcnamara commented on GitHub (Apr 5, 2021):
@ANaumann85 Thank you, I appreciate your analysis. Could you also add those comments to the issues (even if they are marked as closed). Thanks once more.
@jmcnamara commented on GitHub (Apr 7, 2021):
Closing this merged issue. Any further discussion should happen in the individual bug reports.