Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1036136

Summary: tmux: local denial of service by creating /tmp/tmux-$UID files
Product: Red Hat Enterprise Linux 7 Reporter: Florian Weimer <fweimer>
Component: tmuxAssignee: David Cantrell <dcantrell>
Status: CLOSED WONTFIX QA Contact: Release Test Team <release-test-team-automation>
Severity: unspecified Docs Contact:
Priority: high    
Version: 7.0CC: mbanas, salmy, thoger
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tmux-1.8-5.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1264783 (view as bug list) Environment:
Last Closed: 2016-05-23 14:24:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 753882    
Bug Blocks: 1036120    

Description Florian Weimer 2013-11-29 14:24:07 UTC
This has already been reported as a Debian bug, <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=529082>.  If another user creates a path /tmp/tmux-$UID, user $UID cannot start tmux.

An easy fix would use XDG_RUNTIME_DIR by default, but that depends on fixing bug 753882.

Comment 3 David Cantrell 2014-08-12 18:50:03 UTC
Denied by PM for 7.1, moving to 7.2 planning list.  :/

Comment 5 David Cantrell 2015-07-17 18:06:20 UTC
Denied by PM for 7.2, moving to the 7.3 planning list.

Comment 7 David Cantrell 2016-02-08 11:23:58 UTC
Tired of dragging this one forward and never getting it approved.  Approving for 7.3.  Will implement what Debian did for this problem so there is at least some consistency across vendors (plus, Debian's fix has been present in their packages since 2009).

Comment 12 Tomas Hoger 2016-05-20 13:38:45 UTC
(In reply to Florian Weimer from comment #0)
> An easy fix would use XDG_RUNTIME_DIR by default

And that is not the fix we're trying to apply.  Instead, there are attempts to move socket file to /run and make tmux sgid to be able to write there.

I do not believe upstream tests or supports running tmux as sgid.  I see that both Debian and Fedora used to have sgid tmux at some point, but abandoned the idea.

Fedora:

http://pkgs.fedoraproject.org/cgit/rpms/tmux.git/commit/?id=d659dacd7ed7df042c3c844a93f92961e978981f

Debian has this in NEWS.Debian:

tmux (1.4-7) unstable; urgency=low

  Starting with version 1.4-7, tmux is no longer installed setgid utmp and
  server sockets are no longer placed under /var/run/tmux, reverting to
  the default upstream behavior (sockets in a user directory under /tmp).

  We recommend that you close any open tmux sessions before proceeding
  with the upgrade. If necessary, old servers can be accessed after the
  upgrade with e.g. "tmux -S /var/run/tmux/tmux-`id -u`/default attach".

 -- Romain Francoise <rfrancoise>  Sat, 16 Apr 2011 19:16:23 +0200

SUSE also rejected setgid approach, afaics:

https://bugzilla.novell.com/show_bug.cgi?id=567398#c3


Do we have a reason to believe that the approach that turned out to be wrong for both Fedora and Debian is the right thing to do for RHEL?

Florian, any thoughts from you as the reporter of this issue?

Comment 13 David Cantrell 2016-05-23 14:24:39 UTC
Following upstream and other major distributions and not installing tmux as setgid.