git: 8f528507e9ca - main - sysutils/screen: Disable multiuser mode by default
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 29 Mar 2022 15:43:16 UTC
The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/ports/commit/?id=8f528507e9ca0e4f9020269ac69fc7d87249417d commit 8f528507e9ca0e4f9020269ac69fc7d87249417d Author: Cy Schubert <cy@FreeBSD.org> AuthorDate: 2022-03-29 15:02:19 +0000 Commit: Cy Schubert <cy@FreeBSD.org> CommitDate: 2022-03-29 15:39:28 +0000 sysutils/screen: Disable multiuser mode by default Multiuser mode is a handy way to share a screen among people who do not reside in the same location. Unforutnately it requires that screen be setuid root. GNU screen has had a number of CVEs over the years. See https://www.cvedetails.com/vulnerability-list/vendor_id-72/\ product_id-1860/GNU-Screen.html. Removing the setuid bit mitigates this at the expense of breaking the multuser feature. Red Hat removed GNU screen's setuid bit over a dozen years ago. Their rationale is documented in their bugzilla bug 580339, where they stated that most users don't use the multiuser feature. (Personally, I'm the only person I know of who uses that feature.) Users who use the multuser feature should enable the MUILTUSER option prior to building screen or using poudriere-options. Alternatively, users can chmod the setuid bit on when needed. PR: 262903 Submitted by: david@isnic.is (mostly) Reported by: david@isnic.is --- sysutils/screen/Makefile | 7 +++++-- sysutils/screen/pkg-plist | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sysutils/screen/Makefile b/sysutils/screen/Makefile index 8929ce4e5ef7..664bc585e091 100644 --- a/sysutils/screen/Makefile +++ b/sysutils/screen/Makefile @@ -2,7 +2,7 @@ PORTNAME= screen PORTVERSION= 4.9.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= sysutils MASTER_SITES= GNU \ ftp://ftp.gnu.org/gnu/screen/ \ @@ -18,7 +18,7 @@ COMMENT= Multi-screen window manager LICENSE= GPLv3 -OPTIONS_DEFINE= INFO NETHACK XTERM_256 SYSTEM_SCREENRC +OPTIONS_DEFINE= INFO NETHACK XTERM_256 SYSTEM_SCREENRC MULTIUSER OPTIONS_DEFAULT= INFO NETHACK XTERM_256 SOCKETS SYSTEM_SCREENRC \ NCURSES_DEFAULT OPTIONS_SINGLE= IPC NCURSES @@ -29,6 +29,9 @@ XTERM_256_DESC= Enable support for 256 colour xterm SOCKETS_DESC= Use new (4.2.1+) sockets for IPC (default) NAMED_PIPES_DESC= Use legacy (4.0.3) named pipes for IPC (override) SYSTEM_SCREENRC_DESC= Install system screenrc with helpful status line +MULTIUSER_DESC= Install setuid-root screen to support multiuser +MULTIUSER_PLIST_SUB= MULTIUSER_SCREEN="@(,,4755) " +MULTUSER_PLIST_SUB_OFF= MULTIUSER_SCREEN="@(,,0755) " NCURSES_DEFAULT_DESC= Depend on ncurses (ports if installed, otherwise base) NCURSES_BASE_DESC= Depend on ncurses in base NCURSES_PORT_DESC= Depend on devel/ncurses in ports diff --git a/sysutils/screen/pkg-plist b/sysutils/screen/pkg-plist index faddf89b1799..e1afe2d637e4 100644 --- a/sysutils/screen/pkg-plist +++ b/sysutils/screen/pkg-plist @@ -1,5 +1,5 @@ bin/screen -bin/screen-4.9.0 +%%MULTIUSER_SCREEN%%bin/screen-4.9.0 man/man1/screen.1.gz %%DATADIR%%/utf8encodings/01 %%DATADIR%%/utf8encodings/02