The latest tagged release. There are no long-lived release branches, so a fix ships in the next tag rather than being backported.
Use GitHub's private vulnerability reporting on this repository (Security → Report a vulnerability). It stays private until a fix ships.
Please do not open a public issue for a suspected vulnerability first.
- Process tables and command lines (
Processes): another user's process controls its ownargv. A crafted command line must not panic the parser, make a system program match as a game, or reach a path outside the tree handed in. - The Flatpak host listing (
Processes("/proc", ...)): its text comes from the host'sgrepandstatand is parsed withCutandFieldsonly; malformed records are skipped, never indexed blindly. - Pids (
Terminate,KillTree,Alive,WaitPID,TrackTree,ImagePath):0, negative values and, forKillTree,1must never reachkill(2), where they signal the caller's own group or every process the user owns. - The process environment read for the polite Wine close (
Stop): the variables are passed towine taskkillas read, minusWINESERVERSOCKET, and only for a pid the caller named.
- The caller decides which process to stop.
Terminateends whatever process the pid names, if the OS permits; a caller that takes a pid from a file must check it is still the program it recorded (ImagePath). - Program names, the install directory and the command to start are trusted: they are never run through a shell.
- Stopping a process the user owns, and a process that outlives its caller, are the purpose of the package.