Summary
Since Tabby does not escape control characters from file paths when dragging and dropping a file into it, code execution can be achieved.
PoC
- Interpret the control characters and copy it your clipboard:
echo "\x03 gnome-calculator\x0d.txt" | xclip -selection c.
- In your GUI file manager create a file and use content of your clipboard as the filename.
- Open Tabby
- Drag and drop the file into Tabby
Here is a breakdown of what each part of the payload does:
\x03 - End of Text, same as CTRL+C
gnome-calculator - The command to be executed
\x0D - Carriage Return
To fix this vulnerability, escape all control characters from the file path.
Impact
The attacker an achieve code execution and execute malicious code on the victim's machine.
Although this requires the user to drag and drop a file whose name contains a malicious command, junk text can be prepended to the filename to push the payload beyond the visible portion displayed in the system file viewer.
Summary
Since Tabby does not escape control characters from file paths when dragging and dropping a file into it, code execution can be achieved.
PoC
echo "\x03 gnome-calculator\x0d.txt" | xclip -selection c.Here is a breakdown of what each part of the payload does:
\x03- End of Text, same as CTRL+Cgnome-calculator- The command to be executed\x0D- Carriage ReturnTo fix this vulnerability, escape all control characters from the file path.
Impact
The attacker an achieve code execution and execute malicious code on the victim's machine.
Although this requires the user to drag and drop a file whose name contains a malicious command, junk text can be prepended to the filename to push the payload beyond the visible portion displayed in the system file viewer.