-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exploitable Stack Overflow #103
Comments
This is incredible, thank you for the thorough bug report! I'm away from my workstation until the morning, I'll build a new release tomorrow. I think there should also be an advisory to commemorate, this has to be some sort of record 😂 |
I've confirmed everything you've said. I think the I guess I'll try that and see if something breaks. Everything else looks good to me, I'll build a new release. I think I'll send an advisory, let's see if mitre will assign a CVE lol |
Sounds good, thank you! |
All done. Thank you so much... and a quality patch and exploit, impressive and hilarious 😆 |
123ADV-001: Stack Buffer Overflow in Lotus 1-2-3 R3 for UNIX/LinuxAboutThe 123 command is a spreadsheet application for UNIX-based systems that can For more information, see https://123r3.net AdvisoryA stack buffer overflow was reported in the cell format processing routines. If There have been no reports of this vulnerability being exploited in the wild. We take your security very seriously, in fact, this is the first known CreditThis issue was reported to the 123elf project by @dbastone. SolutionA new release has been prepared to resolve this issue, we recommend affected https://github.com/taviso/123elf/releases Lotus 1-2-3 releases for other platforms are affected, but are not actively |
:d |
The unnamed function at 0x80bb148 is used to copy data into a buffer and lacks a destination length check. This function is called in two places - by
process_fmt()
andfmt_cell_combine()
. The call byprocess_fmt()
is reachable using aw3r_format
element (0x13) in a wk3 file, where user-controlled data from the file is copied into a stack variable. The call byfmt_cell_combine()
was not investigated.Both
buf
andbuflen
are controllable. The included exploit demonstrates this by overwriting the return address to point to ajmp esp
gadget, where the payload causes the process to exit with a return value of 3 (I had originally intended to submit this to BGGP3, but missed the deadline!)A pull request will be provided containing a proposed fix.
Base64 encoded exploit.wk3 -
AAAFAAAQBAAREwAVAAAAAAD+/v7+/zMzMzO8yhIIQM2AMw==
[edit: reduced exploit size from 38 to 34 bytes]
This was discovered using Ghidra and AFL++'s QEMU mode, and was inspired by this tweet.
The text was updated successfully, but these errors were encountered: