Skip to content

Multiple security fixes#384

Open
curious-rabbit wants to merge 2 commits into
andreafrancia:masterfrom
curious-rabbit:master
Open

Multiple security fixes#384
curious-rabbit wants to merge 2 commits into
andreafrancia:masterfrom
curious-rabbit:master

Conversation

@curious-rabbit
Copy link
Copy Markdown

There are a few areas that could be addressed to improve security when handling malicious files

This patch rejects trashinfo entries that aren't owned by the invoking user, and reject volume trashinfos with absolute or traversing Path= values, so an attacker with write access to a shared trash dir can't dictate restore destinations.

Also reject trash dirs whose info/ or files/ subdir is a symlink, so trash-put can't be lured into moving files outside the trash dir.

Refuse trash-put arguments that look like options and also exist as files on disk, so a file named '--trash-dir=x' in the cwd cannot hijack argparse when the user runs 'trash-put *'.

Cap the trashinfo-creation retry loop, so an unwritable info/ dir on a shared mount doesn't spin trash-put forever.

Escape C0 control bytes in paths and messages before printing, so filenames with ESC/OSC sequences can't hijack the user's terminal.

audit and others added 2 commits April 19, 2026 19:05
Reject trashinfo entries that aren't owned by the invoking user, and
reject volume trashinfos with absolute or traversing Path= values, so
an attacker with write access to a shared trash dir can't dictate
restore destinations.

Reject trash dirs whose info/ or files/ subdir is a symlink, so
trash-put can't be lured into moving files outside the trash dir.

Refuse trash-put arguments that look like options and also exist as
files on disk, so a file named '--trash-dir=x' in the cwd cannot
hijack argparse when the user runs 'trash-put *'.

Cap the trashinfo-creation retry loop, so an unwritable info/ dir
on a shared mount doesn't spin trash-put forever.

Escape C0 control bytes in paths and messages before printing, so
filenames with ESC/OSC sequences can't hijack the user's terminal.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant