Skip to content
This repository was archived by the owner on Oct 10, 2019. It is now read-only.
This repository was archived by the owner on Oct 10, 2019. It is now read-only.

Rework settings that take commands as arguments #599

Description

@Minoru

Our recent security vulnerabilities (#591, #598) are really caused by us using system(). As long as we pass some external input to that function, we're potentially vulnerable. The only winning move is not to play.

We can't just replace system() with fork() and exec() because we allow users to specify whole commands in some of the settings (pager, browser and so on.) Moving to exec() would mean we'd have to implement word-splitting and maybe some other shell features. We will still break some user's workflow because we won't be able/willing to implement the whole shell inside Newsbeuter.

It seems to be there's no other way than to break compatibility; we will limit commands to some simple stuff (just a path, or path with literal arguments—no variables, no subshells, no redirections.)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions